* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x
####
x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x x x x x x
##
##
[
[[0, 0], [0, 1], [0, 2], [0, 3]],
[[1, 0], [1, 1], [1, 2], [1, 3]],
[[2, 0], [2, 1], [2, 2], [2, 3]],
[[3, 0], [3, 1], [3, 2], [3, 3]],
]
##
##
my $queue = Thread::Queue->new();
$queue->enqueue(\@rows);
my @threads = map { threads->create( \&process, $queue ); } 1 .. 4;
...
##
##
if ( $div == 0 ) {
$image->setpixel( x => $x, y => $y, color => $black );
}
else {
$image->setpixel( x => $x, y => $y, color => $palette[$color] );
}