libthreadpool is a cross-platform C thread pool library. It provides a convenient way for dispatching asynchronous tasks.

Project Activity

See All Activity >

Follow libthreadpool

libthreadpool Web Site

Other Useful Business Software

Discover Server and Application Network Dependencies Icon
Discover Server and Application Network Dependencies Icon

Discover and troubleshoot application dependencies to determine if it’s an application or network problem with SolarWinds Server & Application Monitor

Server and Application Monitor helps you discover application dependencies to help identify relationships between application servers. Drill into those connections to view the associated network performance such as latency and packet loss, and application process resource utilization metrics such as CPU and memory usage. Determine if process utilization or network performance is affecting the application and end-user performance.

Rate This Project

Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
2
0
0
0
0
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5

User Reviews

  • can you find out more bugs?

  • In a word, it is very useful. but there are a lot bugs. eg: static TPBOOL tp_add_thread(tp_thread_pool *this){ int err; tp_thread_info *new_thread; if( this->max_th_num <= this->cur_th_num ) return FALSE; //malloc new thread info struct new_thread = &this->thread_info[this->cur_th_num]; //init new thread's cond & mutex pthread_cond_init(&new_thread->thread_cond, NULL); pthread_mutex_init(&new_thread->thread_lock, NULL); //init status is busy new_thread->is_busy = TRUE; //add current thread number in the pool. this->cur_th_num++; err = pthread_create(&new_thread->thread_id, NULL, tp_work_thread, this); if(0 != err){ free(new_thread); return FALSE; } printf("tp_add_thread: creat work thread %d\n", this->thread_info[this->cur_th_num-1].thread_id); return TRUE; } when pthread_create fail, it's wrong to free new_thread because new_thread isn't malloc by this function.The right way is try to rollback as the following: pthread_mutex_destroy(&new_thread->thread_lock); pthread_cond_destroy(&new_thread->thread_cond); new_thread->is_busy = FALSE; this->cur_th_num--;

Read more reviews >

Additional Project Details

Programming Language

C, Objective C

Registered

2007-03-28