天天看点

【Linux】线程池与原语操作什么是线程池?线程池的作用原子操作

目录

  • 什么是线程池?
  • 线程池的作用
  • 原子操作

什么是线程池?

线程池维护着一个任务队列和多个线程;任务队列接收并存储客户请求,提前创建好的多个线程等待着监督管理者分配可并发执行的任务。

线程池的作用

  1. 提高一定的效率:有任务时,有现有的线程可以立即进行服务,省掉了线程创建的时间(只在执行小型任务时效率提升较明显)
  2. 降低资源消耗:通过重用已经创建的线程来降低线程创建和销毁的消耗
  3. 降低了程序的耦合程度:线程池中的生产消费者模型降低了程序的耦合程度,提高了程序的运行效率

原子操作

所谓原语操作是指一个操作中的所有动作,要么成功完成,要么还没有开始做。也就是说,原语操作是一个不可分割的整体。为了保证原语操作的正确性,必须保证原语具有原子性。在单机环境下,操作的原子性一般是通过关中断来实现的。由于中断是计算机与外设通信的重要手段,关中断会对系统产生很大的影响,所以在实现时一定要避免原语操作花费时间过长,绝对不允许原语中出现死循环。