Publisher
z80
ExecPool
Thread pool for asynchronous tasks execution. It runs tasks in a number of parallel threads. On each task completion it calls a callback specified. One can specify how many threads to use or use the default number which is OS.get_processor_count()-1. Usage example: ExecPool.start( my_object, "method_to_call", "callback_name" ). See "res://addons/exec_pool/examples/exec_pool_example.tscn" example scene.
This plugin has been mirrored from the Godot Asset Library.
The plugin author is in no way affiliated with Gadget.
If you are the author of this plugin and would like this mirror removed, please contact support@gadgetgodot.com.
ExecPool
Gd-script ExecPool is made for asyncronous task execution.
You can limit number of threads it uses. The value is located in the resource file "res://addons/exec_pool/exec_pool_settings.tres" max_threads_qty. If the number is 0 or negative, OS.get_processors_numer() - 1 is used.
Typical usage
There are two options.
- Add ExecPool node to your scene tree.
- Or add ExecPool creation to "Project->Project Settings->AutoLoad".
There are 3 methods:
- ExecPool::start( object: Object, method_name: String, callback_name: String )
- ExecPool::start_with_arg( object: Object, method_name: String, callback_name: String, argument )
- ExecPool::start_with_args( object: Object, method_name: String, callback_name: String, arguments: Array )
for calling a method method_name in the object. After the method_name returns, the callback_name is called with the result returned by method_name. start_with_arg calls mathod method_name with an argument. "start_with_args" calls method method_name with an array of arguments.
See res://addons/exec_pool/examples/exec_pool_example.tscn for a usage example.