concurrent-programming相关内容

Java 阻塞问题:为什么 JVM 会阻塞许多不同类/方法中的线程?

更新:这看起来像是内存问题.一个 3.8 Gb 的 Hprof 文件表明,当这种“阻塞"发生时,JVM 正在转储其堆.我们的运营团队看到该站点没有响应,进行了堆栈跟踪,然后关闭了该实例.我相信他们在堆转储完成之前关闭了该站点.日志中没有错误/异常/问题证据——可能是因为 JVM 在生成错误消息之前就被杀死了. 原始问题我们最近遇到了一个应用程序出现的情况——对最终用户来说——挂起.我们在应用 ..

java中如何停止Executor ThreadPool的执行?

我正在处理 Java 中的 Executors,以便一次同时运行更多线程.我有一组 Runnable Objects,我将它分配给 Exceutors.The Executor 工作正常一切都很好.但是在池中执行完所有任务之后,java程序没有终止,我认为执行器需要一些时间来杀死线程.请任何人帮助我减少执行器执行后的时间所有任务. 解决方案 ExecutorService 类有 2 个方法 ..
发布时间:2021-12-28 22:57:16 其他开发

Java中有互斥锁吗?

java 中是否有互斥对象或创建一个对象的方法?我问是因为用 1 个许可初始化的信号量对象对我没有帮助.想想这个案例: 尝试{semaphore.acquire();//做东西semaphore.release();} 捕获(异常 e){semaphore.release();} 如果第一次acquire发生异常,catch块中的释放会增加许可,信号量就不再是二元信号量了. 正确的方法是 ..

如何让 2 个 JVM 相互通信

我有以下情况: 我有 2 个 JVM 进程(实际上是 2 个 java 进程分别运行,而不是 2 个线程)在本地机器上运行.让我们称它们为 ProcessA 和 ProcessB. 我希望它们相互通信(交换数据)(例如,ProcessA 向 ProcessB 发送消息以执行某些操作). 现在,我通过编写一个临时文件来解决此问题,这些进程会定期扫描此文件以获取消息.我觉得这个解决方 ..
发布时间:2021-11-25 17:17:25 Java开发

React PHP如何处理异步非阻塞I/O?

React PHP如何处理异步非阻塞I/O? Nodejs使用其事件队列来处理不同线程上的I/O.它为此使用libuv.像在PHP中一样,React如何在单个线程上处理非阻塞I/O进程? 解决方案 React PHP提供了应用程序的主要事件循环.您仍然需要以非阻塞的方式编写代码,因为它们全部在一个线程上.所有可能的解决方案都围绕使用php而不是我确定大多数php开发人员习惯于使用ph ..
发布时间:2021-04-12 18:55:54 PHP

在C / C ++中检查文件是否正在使用的方法?

有什么方法可以检查C / C ++中是否正在使用文件?还是我必须总是实施锁/信号灯以防止多个线程/进程同时访问任何文件? 如果我们考虑使用Linux ,以及以下情况:我想使用预先定义的通信框架,通过RS-232通信将存储在设备A中的文件内容分块传输到另一设备B。发送此传输请求时,我想在发送“ Ready to Transfer:OK”响应之前,确认设备A中的任何进程都没有使用该文件,然后我将 ..
发布时间:2020-10-07 21:45:19 C/C++开发

何时选择多线程或多处理?

我从未在并发编程上做过任何事情,我对它们的了解仅来自OS 图书. 我今天在一次采访中遇到了这个问题.我想知道是否有人可以给我一个直观的 关于多线程和多进程以及何时选择它们的说明.或者,也许可以 向我推荐一些书籍或带有实际示例的链接.我想阅读 的源代码 具有一致编程的开源项目(c/c ++),希望您可以推荐一个. 非常感谢您的帮助. 解决方案 多线程: 执行 ..
发布时间:2020-05-13 22:31:05 其他开发

锁定锁与非锁定锁

我在这里思考:如果您有2个线程执行需要同步的FAST操作,那么非阻塞方法不是比阻塞/上下文切换方法更快/更好的方法吗? 非阻塞性的意思是: while(true){ 如果(checkAndGetTheLock())中断; } 如果您有太多线程在锁中循环,我唯一想到的就是饥饿(CPU耗尽). 如何在一种方法与另一种方法之间取得平衡? 解决方案 这是实践中的Java并发 ..
发布时间:2020-05-13 21:37:53 Java开发

浏览器中的JavaScript是否可能发生并发读/写读/写冲突?

我有一种情况,我正在制作几个(比如四个)ajax调用(使用AngularJS http get,如果这很重要)我希望每次调用回调并增加一个计数器,这样我就可以知道什么时候全部(四个)线程已经完成。 我担心的是,因为JavaScript没有任何可与Java的“synchronized”或“volatile”关键字相媲美的东西,所以它可以用于多个并发线程在递增计数器时发生碰撞,从而错过了一些增量 ..

启动/暂停/恢复/暂停...由其他类调用的方法

我想实现一个Anytime k-NN分类器,但我找不到一种方法来调用“classify(...)”方法一段特定的时间,暂停它,在方法暂停之前获取可用的结果,恢复该方法一段特定的时间,暂停它,在方法暂停之前获得可用的结果,等等... 我使用数据结构来获得近似结果。当算法遍历数据结构时,它最终会遇到实际的训练数据向量。 public class AnytimeKNN { public in ..
发布时间:2018-12-22 18:54:23 Java开发

C / C ++和C#/ Java之间使用volatile的区别是什么?

我在许多参考文献中发现它提到C / C ++中的 volatile 很弱并且可能在多处理器的并发环境中引起问题,但它( volatile )可以用作C#/ Java中差异CPU之间的通信机制。看来这个关键字在C#/ Java中比在C / C ++中更严格,但它们之间的区别/影响是什么? 这是 C / C ++中的volatile 。 为什么不挥发在多线程C或C ++编程中被认为有用吗? ..
发布时间:2018-12-10 12:02:59 Java开发

Go编程语言相互并发执行

我有两个并发的例程如下, 例程1 { 例程过程 关键部分{ } 例行程序 } 例行2 { 例行程序 关键部分{ } 例行程序 } 是否有可能通过使用一些内置函数来实现关键部分? 解决方案 你的问题: 我有N个并发的go例程(或多或少有相同的用途)。每个人都有一个关键部分。在进入关键部分之前,每个例程都会做一些消息发送 ..

如何在Java并发中发生可见性问题?

我正在阅读的书:“Java并发实践”,以更好地了解java并发的工作原理。在第3章第3.1节:可见性有一个例子,在这本书试图显示如何可见性问题发生。下面是示例代码(本书中的代码3.1): public class NoVisibility { private静态布尔准备; private static int number; private static class Re ..
发布时间:2016-12-26 21:30:36 Java开发