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); }
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; }