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

     前言

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

    线程池

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

    EventLoop:

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

    混合:

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

    Akka:

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

    Async/Await:

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

    协程:

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

    -------------------------------- 优秀、是一种习惯 、、、、、、、、、、、、、、、
  • 相关阅读:
    Js中的变量
    flash读取XML 背景自动适应大小
    Ajax.NET Professional
    JS事件大全
    (转)SharePoint社区工具包中文版发布!!
    .iOS APP Project or Mac APP Project编译错误提示: My Mac 64bit is not valid for Running the scheme
    NSAssert断言
    iphone手机appstore地区更改
    自定义UITableView Section 的title样式字体
    从项中复制值
  • 原文地址:https://www.cnblogs.com/iCanhua/p/15025447.html
Copyright © 2011-2022 走看看