Preliminary. ThinkMeta ConcurrentTasks and this documentation are preliminary; everything is subject to change.

API reference / Core

DispatcherWakeProc alias

Hands a task that can run to the event loop of a dispatcher scheduler.

Use
#include <ThinkMeta.ConcurrentTasks/Core.h>
Namespace
ThinkMeta::ConcurrentTasks

Syntax

using DispatcherWakeProc =
    void (*)(
        IDispatcherScheduler* scheduler,
        SuspendedTask task,
        void* context
    ) noexcept;

Parameters

schedulerIDispatcherScheduler*
The scheduler the task belongs to.
taskSuspendedTask
The task; the loop passes it to IDispatcherScheduler::ContinueTask.
contextvoid*
The context given to CreateDispatcherScheduler.

Remarks

Called once for every task that can run, on any thread, also on the bound thread itself. It must not block and must not lose the task: a window posts a message carrying it, for example. A message to a window also reaches modal loops (message boxes, moving a window, menus), unlike a thread message. Posted messages are limited (10,000 per thread by default); every waiting task is on its way at most once.

See also

CreateDispatcherScheduler

Generated from ThinkMeta.ConcurrentTasks.API @ e29892d (2026-10-30).