首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Java职业技术分享

    并发模型比较

    参考: 初步探索Nginx高并发原理 ---- Node.js Node.js 也是单线程模型。 所以有一些新的编程模型来实现高并发,用消息传递来代替共享内存和锁。 参考: actor并发模型&基于共享内存线程模型 为什么Actor模型是高并发事务的终极解决方案? 如何深入浅出地解释并发模型中的 CSP 模型并发编程:Actors模型和CSP模型 ---- 总结 高并发的关键在于实现异步非阻塞,更加高效地利用 CPU。多线程可以达到非阻塞,但占用资源多,切换开销大。 至少对主流的并发编程有了个感性的理解,也算是对自己的一个交代。 ---- update:函数式编程 2018.01.01 最近了解到,函数式编程也是一个可以用来解决并发问题的模型

    3.1K00发布于 2018-09-28
  • 来自专栏后端技术

    java 并发模型

    根据阅读注释和跟踪父类Queue源码,我们得知,BlockingQueue的方法主要分三类:

    53720发布于 2019-05-25
  • 来自专栏Java职业技术分享

    并发模型比较

    参考: 初步探索Nginx高并发原理 ---- Node.js Node.js 也是单线程模型。 所以有一些新的编程模型来实现高并发,用消息传递来代替共享内存和锁。 参考: actor并发模型&基于共享内存线程模型 为什么Actor模型是高并发事务的终极解决方案? 如何深入浅出地解释并发模型中的 CSP 模型并发编程:Actors模型和CSP模型 ---- 总结 高并发的关键在于实现异步非阻塞,更加高效地利用 CPU。多线程可以达到非阻塞,但占用资源多,切换开销大。 至少对主流的并发编程有了个感性的理解,也算是对自己的一个交代。 ---- update:函数式编程 2018.01.01 最近了解到,函数式编程也是一个可以用来解决并发问题的模型

    2.4K00发布于 2018-09-21
  • 来自专栏ReganYue's Blog

    Go并发之CSP并发模型、协程并发

    Go并发之CSP并发模型、协程并发 什么是CSP并发模型 CSP 即通信顺序进程、交谈循序程序,又被译为交换消息的循序程序(communicating sequential processes),它是一种用来描述并发性系统之间进行交互的模型 CSP模型的最大优点是灵活。但是容易出现死锁的情况,且未给予直接的并行支持,并行需要建立在并发的基础之上。 在CSP模型里面,进程间需要经过一种被称为管道来进行通信。 通过管道能够实现百万级的并发。如果说线程是抢占式的,那么协程是协作式的。在协程里面,也是通过管道来调度的。 解放线程对CPU和内存的开销,线程是先占用CPU和内存后才调度,而协程是通过通信发送信号来调度,协程全是通过管道,由于协程的消耗比线程小很多,所以能够实现百万并发。 8G内存的电脑,用JAVA,C来做并发,差不多也就千级并发,而用GO语言,通过管道可以让并发能力得到很大提升。

    1.2K10发布于 2021-09-16
  • 来自专栏运维开发王义杰

    Go: 并发模型详解

    Go语言的并发模型是基于CSP(Communicating Sequential Processes)理论的,该理论的核心思想是通过通信来共享内存,而不是通过共享内存来通信。 在Go语言中,并发主要依靠两个概念: Goroutine:轻量级的线程,由go关键字启动。 Channel:用于 goroutine 之间通信的管道。 Goroutine Goroutine 是 Go 语言中实现并发的核心机制。 Goroutine 和 Channel 的配合使用 Goroutine 和 Channel 可以配合使用来实现各种并发编程模式。 总结 Go 语言的并发模型是基于 CSP 理论的,通过 Goroutine 和 Channel 的配合使用,可以轻松地实现各种并发编程模式。这种并发模型具有高效、易用等特点,是 Go 语言的一大优势。

    49610编辑于 2024-02-26
  • 学习 Go并发模型

    先将数据拆分放入通道in := producer(1,2,3,4)// 处理数据ch := square(in)// 消费数据for ret := range ch {fmt.Printf("%3d",ret)}}扇形模型优化

    16900编辑于 2025-06-11
  • 来自专栏腾讯技术工程官方号的专栏

    20种不同并发模型示例,带你深入理解并发模型

    文末抽奖送书,欢迎参与~ 导语 曾看过很多并发模型相关的文章,但是这些文章大部分只讲了并发模型的实现原理,并没有给出具体的示例代码,看完总觉得对并发模型这个知识点是一知半解,不得要领。 为了掌握高并发模型,我这里抛砖引玉,实现了20种常见的并发模型,并对每种并发模型进行了性能压测和分析。由于本人水平有限,文章中难免有一些不准确或者纰漏的地方,欢迎大家批评指正。 的并发模型是多进程抢锁,每个进程的流量负载会更均衡,但因为有锁,所以进程池1的并发模型性能比进程池2的并发模型低一些。 线程池的并发模型和进程池2的并发模型,性能差异并不是很大,因为线程池的并发模型也是由操作系统来做负载均衡的,所以存在接口长尾的耗时较高的情况。 领导者/跟随者的并发模型和进程池1的并发模型很相似,这两个模型所有的指标都差异很小,领导者/跟随者的并发模型可以看到显式的使用锁,而进程池1的并发模型没有。

    1.5K12编辑于 2024-05-24
  • 来自专栏码农架构

    Java 并发编程:多线程并发内存模型

    Java内存模型 Java的世界也有属于它自己的内存模型,Java内存模型(Java Memory Model),简称JMM。 由于Java被定义成一种跨平台的语言,所以在内存的描述上面也要能是跨平台的,Java虚拟机试图定义一种统一的内存模型,能将各种底层硬件及操作系统的内存访问差异进行封装,使Java程序在不同硬件及操作系统上都能达到相同的并发效果 JMM可见性 在Java内存模型中,如果一个线程更改了共享变量的值,其他线程能马上知道这个更改,则我们说这个变量具有可见性。 要想深入了解多线程并发中的相关问题现象,对Java内存模型的深入研究是必不可少的。 它的定义必须考虑下面几个方面,其一是如何更加有效地提高线程的性能效率;其二是如何将底层物理硬件及操作系统的差异屏蔽掉提供统一的对外概念;最后是如何使它的模型既严谨又宽松,保证语义不会产生歧义和一些优化扩展

    1.1K50发布于 2020-12-14
  • 来自专栏周末程序猿

    Linux高性能网络编程十谈|C++11实现22种高并发模型

    种高并发模型11. ,调试困难 详细介绍: 协程模式通过状态机模拟协程行为,在C++11环境下实现异步编程。 ,可针对性优化 缺点: 实现复杂,调试困难 详细介绍: 混合模型是一种综合性的并发架构,根据不同的业务需求和性能要求,在同一个系统中组合使用多种并发模型,可以在I/O处理层使用Reactor模型实现高效的事件处理 实现架构: 架构采用分层设计,每层根据其特点选择最适合的并发模型。 网络接入层通常使用事件驱动模型(如Epoll/Reactor)处理大量并发连接,保证高效的I/O处理。

    1K11编辑于 2025-06-09
  • 来自专栏Go语言指北

    Go通关11并发控制神器之Context

    您诸位好啊,我是无尘,今天接着介绍下并发中的操作--Context。 协程如何退出 一个协程启动后,一般是代码执行完毕,自动退出,但是如果需要提前终止怎么办呢? 这种办法须要加锁来保证并发安全,说到这里,有没有想的什么解决方案? 下班咯~~~ Context 介绍 Context 是并发安全的,它是一个接口,可以手动、定时、超时发出取消信号、传值等功能,主要是用于控制多个协程之间的协作、取消操作。

    69730发布于 2021-08-18
  • 来自专栏python3

    11.python并发入门 part3

    200 i am Thread-8 , set num 200 i am Thread-9 , set num 200 i am Thread-10 , set num 200 i am Thread-11

    36010发布于 2020-01-08
  • 来自专栏互联网技术栈

    七周七并发模型

    image.png 七个模型来介绍并发与并行。 线程与锁:线程与锁模型有很多众所周知的不足,但仍是其他模型的技术基础,也是很多并 发软件开发的首选。 函数式编程:函数式编程日渐重要的原因之一,是其对并发编程和并行编程提供了良好的支 持。函数式编程消除了可变状态,所以从根本上是线程安全的,而且易于并行执行。 actor:actor模型是一种适用性很广的并发编程模型,适用于共享内存模型和分布式内存模型, 也适合解决地理分布型问题,能提供强大的容错性。 不过CSP模型侧重于传递信息的通道,而actor模型侧重于通道 两端的实体,使用CSP模型的代码会带有明显不同的风格。 数据级并行:每个笔记本电脑里都藏着一台超级计算机——GPU。  这个模型适用于解决并发问题、并行问题,还是两者皆可  这个模型适用于哪种并行架构  这个模型是否有利于我们写出容错性强的代码,或用于解决分布式问题的代码---- 个人介绍: 高广超:多年一线互联网研发与架构设计经验

    74320发布于 2018-12-12
  • 来自专栏数据云团

    并发篇-python传输模型

    画重点啦~ >传输模型 先来了解下基本模型 ? 能看懂上面的模型么?大致想到是两个人在打电话吧。 有了基本模型,再了解下它的层次划分。 ? 请注意它的高亮区域! 回顾下传输模型 层次划分 | 传输层 | TCP协议 >TCP连接 三次握手是怎样的呢? ? 为什么是三次?

    46730发布于 2019-07-18
  • 来自专栏木东居士的专栏

    漫谈并发编程:Actor模型

    0x00 前言 一般来说有两种策略用来在并发线程中进行通信:共享数据和消息传递。 本文主要是来分享Scala的Actor模型。 文章结构 本篇博客尝试讲解Actor模型。 但包括面向对象语言在内的软件通常是顺序执行的,而Actor模型本质上则是并发的。 Hello Dante Winston, you're amazing Here's to another 16 years, Clare [INFO] [06/18/2017 11:32:12.309 ,但是CSP和Actor模型有很多接近的地方,想搞CSP模型,总是要看Actor的,因此就先花了点时间看一下Actor模型

    3.9K51发布于 2018-05-25
  • 来自专栏子曰五溪

    技术 | JavaScript的“并发模型

    说到并发应该很多人会想到多线程或多进程,很遗憾JavaScript是单线程的,但是JavaScript也有一个很有趣的东西,可以让你产生在使用多线程的感受,事件循环(Event Loop)提供了一些很有意思的东西

    73620发布于 2019-06-24
  • 来自专栏方丈的寺院

    单机高并发模型设计

    背景 在微服务架构下,我们习惯使用多机器、分布式存储、缓存去支持一个高并发的请求模型,而忽略了单机高并发模型是如何工作的。 这篇文章通过解构客户端与服务端的建立连接和数据传输过程,阐述下如何进行单机高并发模型设计。 经典C10K问题 如何在一台物理机上同时服务10K用户,及10000个用户,对于java程序员来说,这不是什么难事,使用netty就能构建出支持并发超过10000的服务端程序。 应用程序进行decode,业务逻辑处理,最后encode,再发送出去,返回给客户端 因为是一个线程处理一个连接数据,对应的线程模型是这样 多路复用 阻塞vs非阻塞 因为一个连接传输,一个线程,需要的线程数太多 以上就是大名鼎鼎的reactor高并发模型

    85220编辑于 2022-11-08
  • 来自专栏一起学Golang

    Golang并发模型:select进阶

    前一篇文章《Golang并发模型:轻松入门select》介绍了select的作用和它的基本用法,这次介绍它的3个进阶特性。 当你开发一个并发程序的时候,main函数千万不能在子协程干完活前退出啊,不然所有的协程都被迫退出了,还怎么提供服务呢?

    74330发布于 2019-04-11
  • 来自专栏gojam技术备忘录

    并发模型与事件循环

    #constructor 构造函数 #原型链&继承 #Promise #函数生成器 #async...await #并发模型与事件循环 JavaScript的并发模型基于事件循环。 先同步,后异步。

    1K20发布于 2019-09-09
  • 来自专栏C++11

    《C++11并发库:简介与应用

    在C++11之前,C++并没有提供原生的并发支持。 相比之下,C++11并发库提供了以下优势:平台无关:C++11并发库是C++标准的一部分,这意味着你可以在任何支持C++11的编译器上使用它,无需考虑平台差异。 异常安全:C++11并发库使用异常来报告错误,这使得错误处理更加简单和安全。 高级特性:C++11并发库提供了一些高级特性,如std::async、std::future和std::promise等,这些特性使得并发编程更加方便和强大。 下面我们将详细介绍这些并发工具的使用。1. 线程(std::thread)C++11的std::thread类提供了对操作系统原生线程的封装。

    32810编辑于 2025-01-15
  • 来自专栏Java进阶架构师

    【原创】Java并发编程系列11 | 线程调度

    Java并发编程 之前发过,但是因为之前忘记标记原创,没办法收录在【并发编程专题】里面,作为强迫症的我,必须要重发一次。本文为第 11 篇,前面几篇没看过的,可以在文末找到前几篇的跳转链接。 参考资料 《Java 并发编程之美》 《Java 并发编程实战》 《Java 并发编程的艺术》 技术和媒体实验室-Java 并发和多线程教程: http://tutorials.jenkov.com/java-concurrency

    53520发布于 2020-05-26
领券