31 lines
649 B
C++
31 lines
649 B
C++
#include "pip.h"
|
|
|
|
|
|
int main(int argc, char * argv[]) {
|
|
PITimer status_timer;
|
|
PIThreadPoolWorker pool(1);
|
|
|
|
int64_t id = -1;
|
|
|
|
status_timer.start(10_Hz, [&id, &pool] { piCout << "[timer] status" << (int)pool.taskStatus(id); });
|
|
|
|
200_ms .sleep();
|
|
id = pool.enqueueTask([](int64_t id) {
|
|
piCout << "[task ] start, id" << id;
|
|
300_ms .sleep();
|
|
piCout << "[task ] done";
|
|
});
|
|
piCout << "[main ]" << "enqueued, id" << id;
|
|
|
|
200_ms .sleep();
|
|
piCout << pool.removeTask(id);
|
|
piCout << pool.removeTask(id);
|
|
piCout << "[main ]" << "start";
|
|
pool.start();
|
|
|
|
1000_ms .sleep();
|
|
|
|
status_timer.stopAndWait();
|
|
return 0;
|
|
}
|