Commit Graph

  • 7832681ba7 Updated the readme. master Relintai 2023-01-09 21:15:56 +0100
  • 499cde11d2 Work on fixing compile. Relintai 2023-01-09 14:10:42 +0100
  • 652dbff8bf Updated register_types.h and cpp to the current godot 4 style. Relintai 2023-01-08 15:55:39 +0100
  • 6990f8201a Handle properly when use_threads is switched from false to true. Also make sure to check whether the update signal is connected or not before trying to set it up. 3.x Relintai 2022-09-18 10:40:06 +0200
  • 5f5ac160c5 Now the target fps is customizable for ThreadPool when threading is not enabled. Relintai 2022-09-17 23:30:15 +0200
  • b76e803437 Backported the improvements from the pandemonium engine. Also fixes #1 . Thanks. Relintai 2022-09-17 22:57:59 +0200
  • 0917511d04 Improve the logic int _thread_finished a bit. It saves a few _thread_finished calls in certain situations. Relintai 2022-02-19 16:30:34 +0100
  • 1e2a611ebd Check whether a job is cancelled in ThreadPool's update(). Also Improved the logic of the worker thread func a bit. Relintai 2022-02-14 12:44:09 +0100
  • c401b7a027 More work on fixing the compile for 4.0. Relintai 2022-02-08 11:51:46 +0100
  • 2192f2c54c Work on fixing compile for 4.0. Relintai 2022-02-07 00:21:17 +0100
  • 06c56fcb37 Updated the copyright headers. Relintai 2022-01-12 22:23:30 +0100
  • 9ae53cdd30 Re-extracted class docs. Relintai 2022-01-12 22:23:22 +0100
  • a02955e929 Clean up the logic of a few methods in the ThreadPool singleton. Relintai 2021-10-31 12:31:15 +0100
  • 0aa6ec8700 Decrease the delay a bit in cancel_job_wait. Relintai 2021-10-31 12:12:48 +0100
  • 59ba27f161 Don't use the _queue.write if it's not needed. Relintai 2021-10-31 12:12:27 +0100
  • c0a2d3bbe5 Removed ancient create_job methods. Relintai 2021-10-31 12:09:48 +0100
  • 3bf2cae157 Added a has_job getter to the ThreadPool singleton. Relintai 2021-10-31 12:06:00 +0100
  • 1ed776e266 Renamed cancel_task to cancel_job, and cancel_task_wait to cance_job_wait Relintai 2021-10-31 12:01:10 +0100
  • aa7be7b43a Add 2 missing properties to ThreadPoolJob. Relintai 2021-10-31 11:59:18 +0100
  • b2e8c81539 Update the copyright texts for 2021. Relintai 2021-04-19 10:14:06 +0200
  • da4e049da0 Updated for the new 3.2 godot branch - Threading/Semaphore refactor - (f15f5b45781eb3de8e5811400f654e3e49580149). Relintai 2021-02-20 22:42:20 +0100
  • 72049428df Fix compile for 4.0. Relintai 2021-02-06 11:53:02 +0100
  • 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. Relintai 2020-10-20 22:06:08 +0200
  • b1030eaf92 Removed the copyright header from config.py, as utf-8 characters apparently can cause issues. Relintai 2020-08-08 20:03:49 +0200
  • 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.) Relintai 2020-08-04 18:09:21 +0200
  • a9d55cc1c4 Cleanup ThreadPoolExecuteJob's _execute. Relintai 2020-08-04 15:25:06 +0200
  • 862a366e9a execute() now properly resets the current run stage. Relintai 2020-08-04 15:24:12 +0200
  • 0297e4d86d should_so should return true at the end. Relintai 2020-08-04 15:15:49 +0200
  • ff3224f7d0 Added reset_stages() to ThreadPoolJob. Relintai 2020-08-04 14:50:41 +0200
  • bbfa838011 Comment. Relintai 2020-08-04 14:36:30 +0200
  • db1d5d1d81 Remove limit execution time bool, as it's trivial to check for the same thing. Relintai 2020-08-04 10:45:32 +0200
  • 262cdb6638 Fix typo. Relintai 2020-08-04 10:39:11 +0200
  • 1473e2b5f1 Set start time in execute(). Relintai 2020-08-04 10:21:24 +0200
  • 164ad82feb Typo. Relintai 2020-07-28 15:23:05 +0200
  • f640c40564 Tweaks. Relintai 2020-07-28 15:22:02 +0200
  • 97fc7132db More tweaks. Relintai 2020-07-28 15:20:56 +0200
  • 1a7c4e69a5 Proper Readme.md. Relintai 2020-07-28 15:13:59 +0200
  • 93320fe864 Add a completed signal to the jobs. Relintai 2020-06-22 02:32:02 +0200
  • 2808b32eba Sync classref with current source. Relintai 2020-06-20 23:34:03 +0200
  • acc7759682 4.0 compile fix. Relintai 2020-06-20 22:36:49 +0200
  • c2aa301896 Fix single threaded logic. Relintai 2020-05-30 20:19:43 +0200
  • 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. Relintai 2020-05-30 16:20:53 +0200
  • 5093853b3f Small fixes. Relintai 2020-05-24 21:17:32 +0200
  • d182f9a24f Also invert the logic. Relintai 2020-05-24 20:07:30 +0200
  • 967b21da87 Fix typo. Relintai 2020-05-24 20:00:49 +0200
  • 7046fa7b08 Invert the logic of the 2 control flow functions name. Relintai 2020-05-24 19:59:40 +0200
  • c69a2a9db4 When not using threading just return the head of the queue in get_running_job. Relintai 2020-05-24 19:58:09 +0200
  • 61fffea0a4 Tasks can be cancelled now. Relintai 2020-05-24 19:52:27 +0200
  • 222e9fa6cd Now the module actually works. Relintai 2020-05-24 19:04:02 +0200
  • ded9df9772 Setup the ThreadPool singleton's api itself. Relintai 2020-05-24 12:39:17 +0200
  • 0047fb6c4c Added ThreadPoolJob. Relintai 2020-05-24 11:51:05 +0200
  • 13f3c60a71 Fix copy paste error. Relintai 2020-05-24 11:50:55 +0200
  • 19b27c3da3 Setup the ThreadPool singleton. Relintai 2020-05-24 10:54:15 +0200
  • f89e3c59aa Fix copy paste fail. Relintai 2020-05-24 10:46:49 +0200
  • f772f49c87 Initial commit. Relintai 2020-05-24 10:42:29 +0200