concurrency相关内容

并行迭代文件中的行(Scala)?

我了解 Scala 中的并行集合.他们很方便!但是,我想并行迭代一个对于内存来说太大的文件的行.例如,我可以创建线程并在 Scanner 上设置锁,但如果我可以运行如下代码就太好了: Source.fromFile(path).getLines.par foreach { line => 不幸的是 error: value par 不是 Iterator[String] 的成员 在这里实现 ..
发布时间:2021-12-30 21:26:26 其他开发

Openresty 中的并发模型是什么?

我很难理解 openresty(或 nginx)的并发模型.我阅读了 Lua 变量范围,它解释了变量的生命周期,但它没有说明并发访问给他们. 文字很难解释,所以我试着用代码来解释.想象一下,我有这个 Lua 模块: 本地计数器 = {count = 0}函数 counter.incr(amount)counter.count = counter.count +(数量或 1)结尾退货柜台 ..
发布时间:2021-12-30 20:49:00 其他开发

SQL For Update Skip Locked Query and Java Multi Threading - 如何解决这个问题

SELECTIDFROM table_name tkn1,(选择ID,行数发件人表名在哪里PROCS_DT 为空按 PRTY desc 排序,CRET_DT) 结果WHERE tkn1.id= result.idAND result.rnum 这是我的问题.2 个线程同时访问此查询 线程 1 - 执行选择并锁定按优先级降序和创建日期排序的 10 行.接下来,我将从单独的查询中将 proc ..
发布时间:2021-12-30 14:02:13 数据库

如何同步多个 Backbone.js 获取?

我对 Backbone.js 有点陌生,但它可以为我做的一切已经给我留下了深刻的印象,我现在正在努力学习模式和最佳实践. 我有两个集合: var CollA = Backbone.Collection.extend({型号:ModelA,网址:'/urlA'});var CollB = Backbone.Collection.extend({型号:ModelB,网址:'/urlB'});v ..
发布时间:2021-12-29 09:21:29 其他开发

从可运行对象更新 GUI

我正在构建一个 Swing 应用程序,其中一部分功能应该是处理和输出一些视觉和听觉文本(使用 Mary TTS).我需要一些关于 GUI 和文本处理类进行通信的最佳方式的建议. GUI 类是 JPanel 的子类.其中我有一个实现 Runnable 的类,称为 LineProcesser,它准备将文本发送到音频播放器.我正在使用线程执行器来避免 EDT(这可能不是最好的方法,但它似乎达到了我 ..

布赖恩·戈茨 (Brian Goetz) 的不当出版物

问题已经在之前发布,但没有提供真实的例子作品.因此,Brian 提到在某些条件下,AssertionError 可能发生在以下代码中: 公共类持有人{私人国际n;公共持有人(int n){ this.n = n;}公共无效 assertSanity() {如果 (n!=n)throw new AssertionError("此语句为假");}} 当持有人像这样不正确地发布时: class s ..
发布时间:2021-12-28 23:12:28 Java开发

ConcurrentDictionary 的列表顺序是否有保证?

我使用 ConcurrentDictionary 来存储日志行,当我需要向用户显示它们时,我调用 ToList() 来生成一个列表.但奇怪的是,有些用户在列表中最先收到最近的行,而逻辑上他们应该在最后. 这是因为 ConcurrentDictionary 不能保证 IEnumerate 接口上的持久顺序,或者可能是什么原因? 解决方案 No ConcurrentDictionary( ..

您如何在确保每个实体的 FIFO 的同时并行处理消息?

假设您的系统中有一个实体,例如“Person",并且您想要处理修改各种 Person 实体的事件.重要的是: 按 FIFO 顺序处理同一个人的事件 多人事件流由不同的线程/进程并行处理 我们有一个使用共享数据库和锁来解决这个问题的实现.线程竞争获取Person 的锁,然后在获取锁后按顺序处理事件.我们想转移到消息队列以避免轮询和锁定,我们认为这会减少数据库的负载并简化消费者代码的实现 ..
发布时间:2021-12-28 23:12:04 其他开发

锁定可变对象 - 为什么它被认为是一种不好的做法?

请参阅此答案.它说: 六个非常糟糕的例子; ... 锁定可变字段.例如同步(对象){ 对象 = ...;} 锁定可变字段有什么问题?如果 object 被声明为 final 但不是一个不可变的类怎么办? 解决方案 这是个坏主意,因为如果另一个线程更改了临界区中的引用,线程将不再看到相同的引用,因此它们不会同步在同一个对象上,从而不受控制地运行.示例: 同步(锁 ..

不要同时在两个线程之间共享同一个套接字

我有大约 60 个套接字和 20 个线程,我想确保每个线程每次都在不同的套接字上工作,所以我根本不想在两个线程之间共享同一个套接字. 在我的 SocketManager 类中,我有一个后台线程,它每 60 秒运行一次并调用 updateLiveSockets() 方法.在 updateLiveSockets() 方法中,我遍历我拥有的所有套接字,然后通过调用 SendToQueue 类的 s ..

Java 在两个线程之间共享一个变量

我有两个线程.一种是调用修改变量的类的更新方法.另一个调用读取变量的类的更新方法.只有一个线程写入并且一个(或多个)线程读取该变量.由于我是多线程新手,我需要在并发方面做什么? 公共类A{公共 int 变量;//这需要是 volatile 吗?//不仅是 int,还可以是 boolean 或 float.公共无效更新(){//由一个线程不断调用++变量;//或者其他一些算法变量 = comple ..
发布时间:2021-12-28 23:11:24 Java开发

Java:对 InputStream 的并发读取

现在环顾四周,我对这个问题有点困惑.我希望能够获取输入流并在分段中同时读取它.这些段不相互交互,它们只是从上传的文件插入或更新到数据库中的值.是否可以通过设置段大小,然后在分离新线程处理转换和插入/更新之前向前跳过来同时读取输入流? 本质上,该文件是一个 ID 列表(每行一个 ID),尽管如果我可以指定分隔符会更好.有些文件可能很大,所以我想处理数据并将其转换为段,以便在插入/更新到数据库后 ..
发布时间:2021-12-28 23:10:49 Java开发

如何创建先进先出/强信号量

我需要在 C# 中编写我自己的 FIFO/强信号量,使用我自己的信号量类作为基础.我找到了这个例子,但这不太正确,因为我不应该使用 Monitor.Enter/Exit. 这些是我的常规信号量的方法,我想知道是否有一种简单的方法可以将其调整为 FIFO. public virtual void Acquire(){锁(这个){while (uintTokens == 0){Monitor. ..
发布时间:2021-12-28 23:10:42 C#/.NET