#并发

2021-2-26 10:18
我们的许多用户对使用协程编写异步代码的经验感到高兴。这不足为奇,因为使用协程,我们能够编写简单易懂的代码,而几乎所有异步都在后台进行。为简单起见,我们可以将Kotlin中的协程视为具有某些附加功能的超轻量级线程,例如可取消性和结构化并发。但是,协程也使代码更安全。传统的并发编程涉及操纵一个共享的可变状态,这可以说是容......
2021-2-18 0:18
探索Python中的线程,进程和协程,并提供一些有趣的示例,阐明它们之间的差异。 作为在软件工程上花费更多时间的数据科学家,我最近被迫面对我在Python知识方面的一个丑陋鸿沟:并发性。老实说,我从未完全理解异步,线程,池和协程这两个术语的区别,以及这些机制如何协同工作。每次我尝试学习该主题时,这些示例对我来说......
2021-1-9 14:11
在Ruby 3.0版本中,关于并发性,并行性和异步IO的讨论很多。 就我自己的看法,我想写下这对应用程序的性能和容量/成本意味着什么,以及对Ruby生态系统的影响。 我将假定读者已经知道UNIX中的线程与进程模型之间的差异以及《利特尔定律》。 借鉴其他语言总是很好的。 Cal Paterson撰写了一篇出色的......
2021-1-2 8:21
concurrencpp是C ++的任务库,允许开发人员通过使用任务,执行程序和协程轻松安全地编写高度并发的应用程序。使用concurrencpp应用程序可以将需要异步处理的大型过程分解为可并行运行并可以在内部运行的较小任务。合作的方式来达到所需的结果。concurrencpp还允许应用程序使用并行协程轻松编写并行算......
2020-11-10 7:38
编者按:对于许多开发人员来说,并发性是最难掌握的概念之一,但在现代软件开发中,它是一个需要掌握的重要概念。凯瑟琳·考克斯-布代(Katherine Cox-Buday)在她的《围棋中的并发性》(Conency In Go)一书的第一章中,讨论了并发编程中最常见的问题之一:竞争条件。 并发代码是出了名的难以正确编写。通......
2020-10-31 21:1
Java Thread对象允许我们在单独的线程中运行代码。当应用程序启动时,JVM创建名为main的初始线程。Main方法在主线程上运行。在应用程序内部,我们可以创建新线程,以便与主线程并行执行其他任务。 Java使用本机操作系统线程。因此,一个操作系统线程映射一个Java线程。 Thread类的构造函数接受一个Ru......
Swift Concurrency Roadmap(forums.swift.org)
2020-10-31 3:28
在这里可以找到包含此文档的公关SWIFT并发路线图我们的目标是让SWIFT中的并发编程变得方便、高效和安全。本文档概述了通过实现异步函数和参与者对语言进行的一些建议的添加和更改,以实现这一点。这些增加将单独提出,但在许多情况下它们将相互依赖。本文档用于将它们结合在一起。与宣言不同的是,宣言可能会描述..。
2020-10-22 9:37
合并排序是您在CS课程大一学习的经典“分而治之”算法之一,对我来说,它是培养对递归和O(nlog(N))复杂性的直观感觉的最佳工具之一。 在这篇文章中,我们将检查Go中MergeSort的一个简单的并发版本,然后使用Go的简单基准测试工具,我们将查看它的问题所在,然后应用一个简单的修复。 如果你不熟悉这个算法,在哈佛......
2020-10-19 22:56
通常,SQLite最多允许一个编写器并发进行。如果数据库处于";wal&34;或";wal2&34;模式,则BEGIN并发增强功能允许多个编写器同时处理写事务,尽管系统仍会序列化COMMIT命令。 当使用";BEGIN CONTRENT";打开写事务时,实际锁定数据库将推迟到执行COMMIT之......
Concurrent Pascal-S(pascal.hansotten.com)
2020-8-31 13:10
Pascal-S是Pascal的一个子集,最初由Niklaus Wirth编写。Moti Ben-Ari在他的并发编程原则中将Pascal-S建立在PASCAL-S之上,从而产生了并发PASCAL-S。 与Wirth版本的PASCAL-S相比,本版PASCAL-S中的CASE语句、记录和实数都被刷掉了。M.Ben-A......
2020-6-28 3:26
想想Smalltalk,它封装在Lua大小的包中,带有少量Erlang,并以熟悉的现代语法进行包装。 System.print(";Hello,world!";)class Wren{flyTo(City){System.print(";Fly to%(City)";)}}var形容词=Fib......
2020-6-22 19:52
只要有机会,我就会赞扬消息传递和事件循环在Rust中构建并发工作流的优点。然而,在我睁大眼睛的热情中,我会让它听起来几乎不会出错。 所以今天,让我们来了解一些关于错误消息传递代码原型的细节。 我认为这个错误适用于几乎所有的消息传递代码(例外情况可能是使用同步绑定通道)。 尽管我认为原生线程和横梁通道比异步/未来生态系......
2020-5-14 1:31
Erlang生态系统中任何编程语言的成功都可以分为三个紧密耦合的组件。它们是:1)Erlang编程语言的语义,在此基础上实现其他语言;2)用于构建可伸缩和弹性并发系统的OTP库和中间件;3)与语言语义和OTP紧密耦合的BEAM虚拟机。 把这些组件中的任何一个单独拿出来,你就会获得亚军。但是,将这三者放在一起,您就会在......
2020-5-4 23:14
作为探索Rust中的一些基本并发工作流的上一篇文章的后续文章,现在让我们探索一种稍微更高级的模式:工作从一个阶段流到下一个阶段的并发管道,以及在该上下文中发出背压信号的方法。我们还将查看流数据的“推”和“拉”源之间的区别。 让我们从初始代码开始,与前一篇文章不同的是,该代码示例非常庞大和复杂,出乎意料: 我们有三个不......
2020-5-3 1:21
为了帮助支持我们的社区在COVID-19期间远程工作,我们将在2020年6月30日之前免费访问ACM在我们的数字图书馆中发布的所有作品。了解更多。 我们使用饼干,以确保我们给你最好的经验,在我们的网站。 您的浏览器似乎不支持它们,这会影响网站功能。