线程池

作者: D_Major | 来源:发表于2020-03-28 21:10 被阅读0次

    为了避免频繁创建销毁线程, 一开始创建一堆线程备用.
    使用条件变量(任务队列不为空)通知线程池来任务队列取任务. 任务队列要加锁.
    所有线程调用pthread_cond_wait()等待条件变量, server使用pthread_signal()/broadcast()唤醒线程.
    当任务队列满了后, 线程调用pthread_signal()发送条件变量(任务队列不为满)唤醒server, 类似于生产者消费者模型.

    扩充线程池需要设置扩充步长, 还要记录当前存活, 忙碌的线程数量, 需要一个结构体去记录各种信息.

    任务队列中的每个元素都是一个子线程任务结构体, 包含回调函数及其参数.

    相关文章

      网友评论

          本文标题:线程池

          本文链接:https://www.haomeiwen.com/subject/trjkuhtx.html