TSContScheduleEveryOnEntirePool¶
Synopsis¶
#include <ts/ts.h>
Description¶
Schedules contp to run every milliseconds, on all threads that belongs to tp. The every is an approximation, meaning it will be at least every milliseconds but possibly more. Resolutions finer than roughly 5 milliseconds will not be effective. Note that contp is required to NOT have a mutex, since the continuation is scheduled on multiple threads. This means the continuation must handle synchronization itself.
The return value can be used to cancel the scheduled event via TSActionCancel()
. This
is effective until the continuation contp is being dispatched. However, if it is
scheduled on another thread this can be problematic to be correctly timed. The return value
can be checked with TSActionDone()
to see if the continuation ran before the return.
注釈
Due to scheduling multiple events, the return value is changed to std::vector
, as compared to TSAction
of the other TSContSchedule APIs.
Note that the TSContSchedule family of API shall only be called from an ATS EThread. Calling it from raw non-EThreads can result in unpredictable behavior.
See Also¶
TSContScheduleOnPool TSContScheduleOnThread TSContScheduleOnEntirePool TSContScheduleEveryOnPool TSContScheduleEveryOnThread