godot/core
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
..
config Rename OSX to macOS and iPhoneOS to iOS. 2022-07-21 09:37:52 +03:00
crypto Remove RES and REF typedefs in favor of spelled out Ref<> 2022-05-03 01:43:50 +02:00
debugger Fix editor re-focus on debugger break on Windows 2022-07-21 21:47:05 +02:00
error Errors: Fallback to fprintf if OS singleton doesn't exist 2022-06-30 16:00:30 +02:00
extension Changed bool to GdNativeBool 2022-07-16 18:09:36 +02:00
input Rename OSX to macOS and iPhoneOS to iOS. 2022-07-21 09:37:52 +03:00
io Address slow copy performance when using the FileAccessFilesystemJAndroid implementation. 2022-07-21 09:06:29 -07:00
math Rename epsilon to tolerance in the Plane::has_point method 2022-07-21 20:15:15 +03:00
multiplayer Add peer visibility to MultiplayerSynchronizer. 2022-07-20 19:08:35 +02:00
object Implement a Worker ThreadPool 2022-07-22 11:46:48 +02:00
os Rename OSX to macOS and iPhoneOS to iOS. 2022-07-21 09:37:52 +03:00
string Allows parsing of invalid UTF-16 surrogates (can be encountered in Windows filenames) and some non-standard UTF-8 variants, makes Unicode parse errors more verbose. 2022-07-07 11:07:18 +03:00
templates Implement a Worker ThreadPool 2022-07-22 11:46:48 +02:00
variant Rename epsilon to tolerance in the Plane::has_point method 2022-07-21 20:15:15 +03:00
core_bind.cpp Implement a BitField hint 2022-07-05 22:13:37 +02:00
core_bind.h Implement a BitField hint 2022-07-05 22:13:37 +02:00
core_builders.py
core_constants.cpp Use BitField hint for the TextServer enums. Add missing parts for BitField support to the GDextension API. 2022-07-15 08:49:50 +03:00
core_constants.h Make enum/constant binds 64-bit. 2022-06-17 16:36:26 +03:00
core_string_names.cpp Cleanup metadata usage 2022-05-06 00:27:10 +02:00
core_string_names.h Cleanup metadata usage 2022-05-06 00:27:10 +02:00
doc_data.cpp Implement a BitField hint 2022-07-05 22:13:37 +02:00
doc_data.h Merge pull request #62713 from YuriSizov/docs-scripting-annotations 2022-07-06 15:31:19 +02:00
register_core_types.cpp Implement a Worker ThreadPool 2022-07-22 11:46:48 +02:00
register_core_types.h Fix extension registration order. 2022-02-20 10:58:46 -03:00
SCsub Rename OSX to macOS and iPhoneOS to iOS. 2022-07-21 09:37:52 +03:00
typedefs.h Change some math macros to constexpr 2022-03-09 16:24:32 +01:00
version.h Core: Move generated VERSION_HASH to a .cpp file 2022-02-09 09:20:17 +01:00