-
Notifications
You must be signed in to change notification settings - Fork 5
/
main.cpp
40 lines (31 loc) · 873 Bytes
/
main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*************************************************************************
> File Name: main.cpp
> Author: zhangfeng
> Mail: brave_zephyr@163.com
> Created Time: Wed 16 Oct 2019 05:14:07 PM CST
> Target:
************************************************************************/
#include <iostream>
#include "ThreadPool.h"
using namespace std;
int num = 1;
void* func(void *arg) {
num++;
cout << num << endl;
sleep(rand() % 5);
}
int main() {
ThreadPool *pool = new ThreadPool(100, 1000);
TaskFunc fun = static_cast<TaskFunc>(func);
std::shared_ptr<ThreadTask> threadTask(new ThreadTask);
threadTask->taskFunc_ = fun;
threadTask->taskArgs_ = static_cast<void*>(nullptr);
pool->Run();
num = 1;
sleep(1);
for(int i = 0; i < 1000; i++) {
pool->TaskAdd(threadTask);
}
sleep(10);
return 0;
}