美文网首页
【4】并发主流实现模型

【4】并发主流实现模型

作者: 进击的小鹿 | 来源:发表于2021-11-18 19:51 被阅读0次

并发包含以下几种主流的实现模型:

❏ 多进程。多进程是在操作系统层面进行并发的基本模式。同时也是开销最大的模式。在Linux平台上,很多工具链正是采用这种模式在工作。比如某个Web服务器,它会有专门的进程负责网络端口的监听和链接管理,还会有专门的进程负责事务和运算。这种方法的好处在于简单、进程间互不影响,坏处在于系统开销大,因为所有的进程都是由内核管理的。

❏ 多线程。多线程在大部分操作系统上都属于系统层面的并发模式,也是我们使用最多的最有效的一种模式。目前,我们所见的几乎所有工具链都会使用这种模式。它比多进程的开销小很多,但是其开销依旧比较大,且在高并发模式下,效率会有影响。

基于回调的非阻塞/异步IO。这种架构的诞生实际上来源于多线程模式的危机。在很多高并发服务器开发实践中,使用多线程模式会很快耗尽服务器的内存和CPU资源。而这种模式通过事件驱动的方式使用异步IO,使服务器持续运转,且尽可能地少用线程,降低开销,它目前在Node.js中得到了很好的实践。但是使用这种模式,编程比多线程要复杂,因为它把流程做了分割,对于问题本身的反应不够自然。

❏ 协程。协程(Coroutine)本质上是一种用户态线程,不需要操作系统来进行抢占式调度,且在真正的实现中寄存于线程中,因此,系统开销极小,可以有效提高线程的任务并发性,而避免多线程的缺点。使用协程的优点是编程简单,结构清晰;缺点是需要语言的支持,如果不支持,则需要用户在程序中自行实现调度器。目前,原生支持协程的语言还很少。

相关文章

  • 【4】并发主流实现模型

    并发包含以下几种主流的实现模型: ❏ 多进程。多进程是在操作系统层面进行并发的基本模式。同时也是开销最大的模式。在...

  • Java Concurrency 并发模型

    Java Concurrency 并发模型 并发系统可以使用不同的并发模型来实现。 并发模型指定系统中的线程如何协...

  • Java并发基础篇(4):并发编程模型

    转自并发编程网:http://ifeve.com/ 并发系统可以采用多种并发编程模型来实现。并发模型指定了系统中的...

  • 协程小实验

    协程(Coroutine)是目前比较流行的一种并发编程模型,在主流的编程语言里都能找到协程的实现,比如libtas...

  • 并发模型(转载)

    并发系统可以采用多种并发模型来实现。并发模型指定了系统中的线程如何通过协作来完成分配给它们的作业。不同的并发模型采...

  • Golang之并发编程一

    并发基础 在说Golang的并发编程之前,先认识一下目前并发的几种实现方式: 1.多进程。操作系统实现的并发模型,...

  • 死磕系列

    内存模型 【死磕Java并发】-----深入分析synchronized的实现原理 【Java并发编程实战】—–s...

  • Go并发编程实践

    Go语言最大的特点就是并发编程,它实现了一种基于协程的并发模型。轻量级的协程模型减少了线程模型的切换消耗,大大增加...

  • 并发模型 精华一页纸

    1、并发模型一般有两类 阻塞方式 – 通过加锁来实现资源并发 非阻塞方式 - 系统原语实现 I、死锁 VS 活锁 ...

  • Elixir 简明笔记(十九) --- 多进程

    多进程 Elixir强大的并发来自其actor并发模型,简而言之就是可以使用大量的进程来实现并发。elixir中的...

网友评论

      本文标题:【4】并发主流实现模型

      本文链接:https://www.haomeiwen.com/subject/ugrjtrtx.html