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

You Might Also Like
Control remote support software for remote workers and IT teams Icon
Control remote support software for remote workers and IT teams

Raise the bar for remote support and reduce customer downtime.

ConnectWise ScreenConnect, formerly ConnectWise Control, is a remote support solution for Managed Service Providers (MSP), Value Added Resellers (VAR), internal IT teams, and managed security providers. Fast, reliable, secure, and simple to use, ConnectWise ScreenConnect helps businesses solve their customers' issues faster from any location. The platform features remote support, remote access, remote meeting, customization, and integrations with leading business tools.
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