Spaces:
Paused
Paused
File size: 583 Bytes
83607bc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#include "include/hv_utils.h"
int thread_num = 4;
hloop_t** worker_loops = NULL;
void init_loop(int _thread_num, hthread_routine worker_thread) {
thread_num = _thread_num;
worker_loops = (hloop_t**)malloc(sizeof(hloop_t*) * thread_num);
for (int i = 0; i < thread_num; ++i) {
worker_loops[i] = hloop_new(HLOOP_FLAG_AUTO_FREE);
hthread_create(worker_thread, worker_loops[i]);
}
}
hloop_t* get_next_loop() {
static int s_cur_index = 0;
if (s_cur_index == thread_num) {
s_cur_index = 0;
}
return worker_loops[s_cur_index++];
} |