Commit Graph

21 Commits

Author SHA1 Message Date
a02955e929 Clean up the logic of a few methods in the ThreadPool singleton. 2021-10-31 12:31:15 +01:00
0aa6ec8700 Decrease the delay a bit in cancel_job_wait. 2021-10-31 12:12:48 +01:00
59ba27f161 Don't use the _queue.write if it's not needed. 2021-10-31 12:12:27 +01:00
c0a2d3bbe5 Removed ancient create_job methods. 2021-10-31 12:09:48 +01:00
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