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

Any Platform Anywhere: The Best Workflow Software Any Platform Anywhere: The Best Workflow Software Icon
Any Platform Anywhere: The Best Workflow Software Icon

Empower employees to improve their productivity with nocode process automation tools.

Most people intuitively understand how workflows can streamline and speed up their business processes, integrate systems and route content to the right people. While every business has different needs, requirements and goals, workflow automation can help everyone. Whether you’re a company of 500 or 5,000, based in the cloud or on-premises, workflow automation can help maximize the efficiency of your business processes.

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