Rename worker threads to thread pool
I think this needs more work, maybe the thread pool should be more similar to the resource pool, but I think the name change is still helpful. Maybe there's a need for a variable size thread pool and that can better integrate with the work queue.
This commit is contained in:
parent
dcb56ee2c5
commit
d572f591a3
4 changed files with 111 additions and 97 deletions
44
tests/thread-pool.scm
Normal file
44
tests/thread-pool.scm
Normal file
|
@ -0,0 +1,44 @@
|
|||
(use-modules (tests)
|
||||
(srfi srfi-71)
|
||||
(fibers)
|
||||
(unit-test)
|
||||
(knots thread-pool))
|
||||
|
||||
(let ((thread-pool
|
||||
(make-thread-pool 2)))
|
||||
|
||||
(run-fibers-for-tests
|
||||
(lambda ()
|
||||
(assert-equal
|
||||
(call-with-thread
|
||||
thread-pool
|
||||
(lambda ()
|
||||
4))
|
||||
4))))
|
||||
|
||||
(let ((thread-pool
|
||||
(make-thread-pool
|
||||
2
|
||||
#:thread-initializer (const '(2)))))
|
||||
|
||||
(run-fibers-for-tests
|
||||
(lambda ()
|
||||
(assert-equal
|
||||
(call-with-thread
|
||||
thread-pool
|
||||
(lambda (num)
|
||||
(* 2 num)))
|
||||
4))))
|
||||
|
||||
(let ((process-job
|
||||
count-jobs
|
||||
count-threads
|
||||
list-jobs
|
||||
(create-work-queue
|
||||
2
|
||||
(lambda (i)
|
||||
(* i 2)))))
|
||||
|
||||
(process-job 3))
|
||||
|
||||
(display "thread-pool test finished successfully\n")
|
|
@ -1,32 +0,0 @@
|
|||
(use-modules (tests)
|
||||
(srfi srfi-71)
|
||||
(fibers)
|
||||
(unit-test)
|
||||
(knots worker-threads))
|
||||
|
||||
(let ((worker-thread-set
|
||||
(make-worker-thread-set
|
||||
(const '())
|
||||
#:parallelism 2)))
|
||||
|
||||
(run-fibers-for-tests
|
||||
(lambda ()
|
||||
(assert-equal
|
||||
(call-with-worker-thread
|
||||
worker-thread-set
|
||||
(lambda ()
|
||||
4))
|
||||
4))))
|
||||
|
||||
(let ((process-job
|
||||
count-jobs
|
||||
count-threads
|
||||
list-jobs
|
||||
(create-work-queue
|
||||
2
|
||||
(lambda (i)
|
||||
(* i 2)))))
|
||||
|
||||
(process-job 3))
|
||||
|
||||
(display "worker-threads test finished successfully\n")
|
Loading…
Add table
Add a link
Reference in a new issue