zoukankan      html  css  js  c++  java
  • 【调度模型】线程池、Actor模式与EventLoop

     前言

      对象是过程的抽象,线程是调度的抽象。谈到调度模型,线程是是操作系统级别的存在,另外还有一种用户态线程:协程

    线程池

      线程池,属于单个队列,多个线程的调度模型,一般会设置线程核心数core,最大数max,以及限制这个队列的大小;把任务提交到队列中,让线程去获取任务执行;

    EventLoop:

      单线程多队列,队列一般放的都是事件而非任务概念,目前了解的JS的线程调度模型,比较适合高并发,但这种时候的所有任务都必须是不阻塞的,不然就会导致效率变慢,最好是语言级别的限制。

    混合:

      多线程多队列,可以利用队列机制保证相同事务的事件按顺序消费,而不同事务事件并发执行,例如Netty的线程调度模型

    Akka:

      一种Java实现的极致调度模型。

    Async/Await:

      语言级别的调度模型,一些语言(如python)中协程的语言表达;等同于JS中的异步IO,但是JS是通过EventLoop实现的

    协程:

      如果一个计算机问题想要改进,有两个方式,第一是改变算法过程,第二是改变数据结构,而协程算是改变数据结构,并加以算法改造的提升调度问题的产物。

    -------------------------------- 优秀、是一种习惯 、、、、、、、、、、、、、、、
  • 相关阅读:
    性格决定命运
    操作系统课程设计之生产者消费者问题
    Linux 操作系统学习之线程
    OpenCV 显示一幅图片
    对图像每个像素点量化
    css选择器
    极简主义,对逻辑操作符||和&&深度运用的理解
    slice的用法与用量
    简单重置移动端默认样式
    移动端视口格式化备注
  • 原文地址:https://www.cnblogs.com/iCanhua/p/15025447.html
Copyright © 2011-2022 走看看