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

     前言

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

    线程池

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

    EventLoop:

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

    混合:

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

    Akka:

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

    Async/Await:

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

    协程:

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

    -------------------------------- 优秀、是一种习惯 、、、、、、、、、、、、、、、
  • 相关阅读:
    100万并发连接服务器笔记之1M并发连接目标达成
    100万并发连接服务器笔记之测试端就绪
    配置JBoss环境变量
    100万并发连接服务器笔记之Java Netty处理1M连接会怎么样
    JBoss启动项目报错
    eclipse在线安装JBoss Tool过程
    安装JBoss Tool 出错
    eclipse怎么恢复原状
    Java使用foreach遍历集合元素
    Java之Iterator
  • 原文地址:https://www.cnblogs.com/iCanhua/p/15025447.html
Copyright © 2011-2022 走看看