1 # testgrid demo draw -overwrite
10 puts "Creating worker"
11 set worker [tpool::create -minworkers $NBWORKERS -maxworkers $NBWORKERS]
13 puts "Suspending worker"
14 tpool::suspend $worker
17 for {set i 1} {$i <= $NBTHREADS} {incr i} {
18 set job [tpool::post $worker "puts Executing_job_$i"]
20 # set job [tpool::post -nowait $worker "puts $i"]
24 puts "Resuming worker"
27 puts "Waiting while all threads complete"
30 puts "Obtaining results"
31 while { [llength [array names jobs]] > 0 } {
32 puts "Queue: [array names jobs]"
34 foreach job [tpool::wait $worker [array names jobs]] {
35 puts -nonewline "Completed $job: "
36 puts "[tpool::get $worker $job]"
41 puts "Releasing worker"
42 tpool::release $worker