读苏丙榅老师的C风格线程池笔记

178 阅读1分钟

苏丙榲_C风格线程池_链接
读苏丙榲老师的文章受到启发,写下笔记

  • 1.manamger管理者线程(简单理解就是manamger线程管理worker线程)
    • 核心工作:与任务队列打交道,根据是否有堆积的任务,同时根据系统设定创建worker线程
    • 考虑在忙的线程占比是否太少了,是则要销毁线程那些挂起.没执行任务的线程,刺激那些已经没有工作任务(任务队列已经为空)的线程,去自杀
  • 2.worker线程(他是任务的执行环境,它执行任务函数时它就是任务线程.任务线程:回调函数,执行任务的实体)
    • 1.循环里反复地取任务(检查任务队列是否为空),做任务
    • 2.当它做任务时,就是忙状态;当任务队列为空则会阻塞挂起,等待两种选择:1.受激发自杀 2.受到添加线程的函数的激发,继续检查任务队列,继续做任务
    • 3.思考:其实也可以不wait,循环里检查任务队列,任务队列为空就自杀
  • 添加任务函数
    • 只是添加任务队列,除此外不去增减线程;然后激发工作线程做任务
  • 任务队列:等待做任务的队列(函数,与传入参数)