예제 #1
0
void cppadcg_thpool_add_job(thpool_function_type function,
                            void* arg,
                            float* avgElapsed,
                            float* elapsed) {
    if (!cppadcg_pool_disabled) {
        cppadcg_thpool_prepare();
        if (cppadcg_pool != NULL) {
            thpool_add_job(cppadcg_pool, function, arg, avgElapsed, elapsed);
            return;
        }
    }

    // thread pool not used
    (*function)(arg);
}
예제 #2
0
파일: thpool.c 프로젝트: joerong666/hidb
int main(void)
{
    struct thpool *pool = thpool_init(10, 20);
    thpool_add_job(pool, work, "1");
    thpool_add_job(pool, work, "2");
    thpool_add_job(pool, work, "3");
    thpool_add_job(pool, work, "4");
    thpool_add_job(pool, work, "5");
    thpool_add_job(pool, work, "6");
    thpool_add_job(pool, work, "7");
    thpool_add_job(pool, work, "8");
    thpool_add_job(pool, work, "9");
    thpool_add_job(pool, work, "10");
    thpool_add_job(pool, work, "11");
    thpool_add_job(pool, work, "12");
    thpool_add_job(pool, work, "13");
    thpool_add_job(pool, work, "14");
    thpool_add_job(pool, work, "15");
    thpool_add_job(pool, work, "16");
    thpool_add_job(pool, work, "17");
    thpool_add_job(pool, work, "18");
    thpool_add_job(pool, work, "19");
    thpool_add_job(pool, work, "20");
    thpool_add_job(pool, work, "21");
    thpool_add_job(pool, work, "22");
    thpool_add_job(pool, work, "23");
    thpool_add_job(pool, work, "24");
    thpool_add_job(pool, work, "25");
    thpool_add_job(pool, work, "26");
    thpool_add_job(pool, work, "27");
    thpool_add_job(pool, work, "28");
    thpool_add_job(pool, work, "29");
    thpool_add_job(pool, work, "30");
    thpool_add_job(pool, work, "31");
    thpool_add_job(pool, work, "32");
    thpool_add_job(pool, work, "33");
    thpool_add_job(pool, work, "34");
    thpool_add_job(pool, work, "35");
    thpool_add_job(pool, work, "36");
    thpool_add_job(pool, work, "37");
    thpool_add_job(pool, work, "38");
    thpool_add_job(pool, work, "39");
    thpool_add_job(pool, work, "40");

    sleep(5);
    thpool_destroy(pool);
    return 0;
}