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

Project Activity

See All Activity >

License

GNU General Public License version 2.0 (GPLv2)

Follow libthreadpool

libthreadpool Web Site

Other Useful Business Software
Gen AI apps are built with MongoDB Atlas Icon
Gen AI apps are built with MongoDB Atlas

Build gen AI apps with an all-in-one modern database: MongoDB Atlas

MongoDB Atlas provides built-in vector search and a flexible document model so developers can build, scale, and run gen AI apps without stitching together multiple databases. From LLM integration to semantic search, Atlas simplifies your AI architecture—and it’s free to get started.
Start Free
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

Operating Systems

Linux, BSD, Windows

Programming Language

C, Objective C

Related Categories

C Software Development Software, Objective C Software Development Software

Registered

2007-03-28