| 209 | } |
| 210 | |
| 211 | void Threads::executeTask(void (*task)(void*), void* arg) |
| 212 | { |
| 213 | workerTasks.lock()->emplace_back(task, arg); |
| 214 | LightSemaphore_Release(&moreTasks, 1); |
| 215 | if (numWorkers < maxWorkers && freeWorkers == 0) |
| 216 | { |
| 217 | Threads::create(WORKER_STACK, taskWorkerThread); |
| 218 | } |
| 219 | } |
| 220 | |
| 221 | void Threads::exit(void) |
| 222 | { |