1
0
Fork 0
godot/core/object
reduz 67a260d63f Implement a Worker ThreadPool
This PR implements a worked thread pool. It uses a fixed amount of threads in a pool and allows scheduling tasks
that can be run on threads (and then waited for). It satisfies the following use cases:

* HTML5 thread count is fixed (and similar restrictions are known in consoles) so we need to reuse threads.
* Thread spawning is slow in general, so reusing threads is faster anyway.
* This implementation supports recursive waiting for tasks, making it less prone to deadlocks if threads from the pool also run tasks.

After this is approved and merged, subsequent PRs will be needed to replace the ThreadWorkPool usage by this class.
2022-07-22 11:46:48 +02:00
..
SCsub Implement native extension system 2021-06-25 17:32:45 -03:00
callable_method_pointer.cpp Clean up Hash Functions 2022-06-20 12:54:19 +02:00
callable_method_pointer.h Add callable_mp_static 2022-05-22 15:36:34 +02:00
class_db.cpp Implement a BitField hint 2022-07-05 22:13:37 +02:00
class_db.h Implement a BitField hint 2022-07-05 22:13:37 +02:00
make_virtuals.py Fix typos with codespell 2022-03-31 14:07:29 +02:00
message_queue.cpp Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
message_queue.h Zero initialize all pointer class and struct members 2022-04-04 19:49:50 +02:00
method_bind.cpp Clean up Hash Functions 2022-06-20 12:54:19 +02:00
method_bind.h Implement varargs in Methodinfo 2022-06-23 14:50:38 +02:00
object.cpp GDExtension: reuse code with constructor PropertyInfo(const GDNativePropertyInfo&) 2022-06-29 19:30:01 +02:00
object.h Remove unused hints 2022-07-12 00:44:13 +02:00
object_id.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
ref_counted.cpp Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>` 2022-05-03 01:43:50 +02:00
ref_counted.h Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>` 2022-05-03 01:43:50 +02:00
script_language.cpp Add a const call mode to Object, Variant and Script. 2022-06-27 13:33:06 -07:00
script_language.h Add support for documenting built-in annotations 2022-07-04 20:21:39 +03:00
script_language_extension.cpp Add support for documenting built-in annotations 2022-07-04 20:21:39 +03:00
script_language_extension.h Add support for documenting built-in annotations 2022-07-04 20:21:39 +03:00
undo_redo.cpp Make vararg method bind no return and return 2022-03-30 11:43:12 +02:00
undo_redo.h Make vararg method bind no return and return 2022-03-30 11:43:12 +02:00
worker_thread_pool.cpp Implement a Worker ThreadPool 2022-07-22 11:46:48 +02:00
worker_thread_pool.h Implement a Worker ThreadPool 2022-07-22 11:46:48 +02:00