Top | ![]() |
![]() |
![]() |
![]() |
AgsThread * | ags_thread_pool_pull () |
void | ags_thread_pool_start () |
AgsThreadPool * | ags_thread_pool_new () |
#define | AGS_IS_THREAD_POOL() |
#define | AGS_THREAD_POOL() |
#define | AGS_THREAD_POOL_CLASS() |
#define | AGS_THREAD_POOL_GET_CLASS() |
GType | ags_thread_pool_get_type () |
#define | AGS_THREAD_POOL_DEFAULT_MAX_UNUSED_THREADS |
#define | AGS_THREAD_POOL_DEFAULT_MAX_THREADS |
#define | AGS_THREAD_POOL_RT_PRIORITY |
enum | AgsThreadPoolFlags |
#define | AGS_TYPE_THREAD_POOL |
struct | AgsThreadPool |
struct | AgsThreadPoolClass |
The AgsThreadPool acts as preinstantiated threads store. This can achieve enormeous performance.
AgsThread *
ags_thread_pool_pull (AgsThreadPool *thread_pool
);
Pull a previously instantiated AgsReturnableThread. Note this function may block until a new thread is available.
Since: 2.0.0
void
ags_thread_pool_start (AgsThreadPool *thread_pool
);
Start the thread pool.
Since: 2.0.0
AgsThreadPool *
ags_thread_pool_new (AgsThread *parent
);
Create a new AgsThreadPool.
Since: 2.0.0
#define AGS_IS_THREAD_POOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AGS_TYPE_THREAD_POOL))
#define AGS_THREAD_POOL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_THREAD_POOL, AgsThreadPool))
#define AGS_THREAD_POOL_CLASS(class) (G_TYPE_CHECK_CLASS_CAST(class, AGS_TYPE_THREAD_POOL, AgsThreadPoolClass))
#define AGS_THREAD_POOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS(obj, AGS_TYPE_THREAD_POOL, AgsThreadPoolClass))
Enum values to control the behavior or indicate internal state of AgsThreadPool by enable/disable as sync_flags.
“max-threads”
property“max-threads” guint
The maximum amount of threads available.
Flags: Read / Write
Allowed values: [1,65535]
Default value: 1024
Since: 2.0.0
“max-unused-threads”
property“max-unused-threads” guint
The maximum amount of unused threads available.
Flags: Read / Write
Allowed values: [1,65535]
Default value: 8
Since: 2.0.0
“start”
signalvoid user_function (AgsThreadPool *thread_pool, gpointer user_data)
The ::start()
signal is invoked in order to started the pool.
thread_pool |
the AgsThreadPool |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 2.0.0