|
3bf2cae157
|
Added a has_job getter to the ThreadPool singleton.
|
2021-10-31 12:06:00 +01:00 |
|
|
1ed776e266
|
Renamed cancel_task to cancel_job, and cancel_task_wait to cance_job_wait
|
2021-10-31 12:01:10 +01:00 |
|
|
da4e049da0
|
Updated for the new 3.2 godot branch - Threading/Semaphore refactor - (f15f5b45781eb3de8e5811400f654e3e49580149).
|
2021-02-20 22:42:20 +01:00 |
|
|
72049428df
|
Fix compile for 4.0.
|
2021-02-06 11:53:02 +01:00 |
|
|
bc0d2f6deb
|
Fix race condition in ThreadPool. Also replaced _THREAD_SAFE_METHOD_-s to _THREAD_SAFE_LOCK_-s and _THREAD_SAFE_UNLOCK_-s in the same class.
|
2020-10-20 22:06:08 +02:00 |
|
|
b4cda4e527
|
Now setting thread_count to 0 or less means get the processor count, and add it to it (it is negative). Also added a fallback thread count, in case it ends up being invalid. (Like get_porocessor_count returns something bogus, or you give it a too high number.)
|
2020-08-04 18:09:21 +02:00 |
|
|
acc7759682
|
4.0 compile fix.
|
2020-06-20 22:36:49 +02:00 |
|
|
c2aa301896
|
Fix single threaded logic.
|
2020-05-30 20:19:43 +02:00 |
|
|
3891a9b68d
|
Separated the job into ThreadPoolJob and ThreadPoolExecuteJob. This design makes everything more resilient to crashes, as it encourages writing encapsulated standalone job classes. The execute job can still be used to just run methods/functions in separate threads.
|
2020-05-30 16:20:53 +02:00 |
|
|
5093853b3f
|
Small fixes.
|
2020-05-24 21:17:32 +02:00 |
|
|
967b21da87
|
Fix typo.
|
2020-05-24 20:00:49 +02:00 |
|
|
c69a2a9db4
|
When not using threading just return the head of the queue in get_running_job.
|
2020-05-24 19:58:09 +02:00 |
|
|
61fffea0a4
|
Tasks can be cancelled now.
|
2020-05-24 19:52:27 +02:00 |
|
|
222e9fa6cd
|
Now the module actually works.
|
2020-05-24 19:04:02 +02:00 |
|
|
ded9df9772
|
Setup the ThreadPool singleton's api itself.
|
2020-05-24 12:39:17 +02:00 |
|
|
19b27c3da3
|
Setup the ThreadPool singleton.
|
2020-05-24 10:54:15 +02:00 |
|
|
f772f49c87
|
Initial commit.
|
2020-05-24 10:42:29 +02:00 |
|