Tag: 并发

我什么时候需要在Java中使用AtomicBoolean?

我怎样才能使用AtomicBoolean和那个类是什么?

Java的JDK中是否有一个并发列表?

我如何创build一个并发的List实例,我可以通过索引访问元素? JDK是否有我可以使用的任何类或工厂方法?

多核编程在Haskell中的地位如何?

多核编程在Haskell中的地位如何? 现在有哪些项目,工具和库可用? 有什么经验报告?

易失性布尔与AtomicBoolean

AtomicBoolean做了什么,一个易变的布尔无法实现?

在Java中遇到的最常见的并发问题是什么?

这是对Java中常见并发问题的sorting。 一个例子可能是典型的死锁或竞争条件,或者可能是EDT线程Swing中的错误。 我对广泛的可能的问题感兴趣,而且对什么问题最为常见。 所以,请给每个评论留下一个Java并发错误的具体答案,如果你看到一个你遇到的错误,就投票表决。

为什么这个Java程序终止,尽pipe这显然不应该(也没有)?

今天我实验室的一个敏感操作完全错了。 电子显微镜上的执行器越过了边界,经过一连串的事件,我损失了1200万美元的设备。 我已经在故障模块中缩小了40多条线路,这是因为: import java.util.*; class A { static Point currentPos = new Point(1,2); static class Point { int x; int y; Point(int x, int y) { this.x = x; this.y = y; } } public static void main(String[] args) { new Thread() { void f(Point p) { synchronized(this) {} if (p.x+1 != py) { […]

什么是Haskell对Node.js的响应?

我相信Erlang社区并不嫉妒Node.js,因为它原生地实现了非阻塞I / O,并且有方法可以轻松地将部署扩展到多个处理器(即使Node.js中没有内置的东西)。 http://journal.dedasys.com/2010/04/29/erlang-vs-node-js和Node.js或Erlang的更多细节 那Haskell呢? Haskell可以提供Node.js的一些好处,也就是一个干净的解决scheme,可以避免阻塞I / O而无需使用multithreading编程? Node.js有很多很吸引人的地方 事件:没有线程操作,程序员只提供callback(如在Snap框架中) callback保证在一个线程中运行:没有竞争条件可能。 好的和简单的UNIX友好的API。 奖金:优秀的HTTP支持。 DNS也可用。 每个I / O默认是asynchronous的。 这使得更容易避免locking。 但是,callback中的CPU处理太多会影响其他连接(在这种情况下,任务应该拆分成更小的子任务并重新调度)。 客户端和服务器端的语言相同。 (但是我没有看到太多的价值,但是jQuery和Node.js共享事件编程模型,但是其他的却是截然不同的,我只是看不出服务器端和客户端之间的共享代码如何在实践中是有用的。) 所有这些包装在一个单一的产品。

为什么使用ReentrantLock如果可以使用synchronized(this)?

我试图了解是什么使得并发locking如此重要,如果可以使用synchronized (this) 。 在下面的虚拟代码中,我可以这样做: 同步整个方法或同步易受攻击的区域(synchronized(this){…}) 或用ReentrantLocklocking易受攻击的代码区域。 码: private final ReentrantLock lock = new ReentrantLock(); private static List<Integer> ints; public Integer getResult(String name) { . . . lock.lock(); try { if (ints.size()==3) { ints=null; return -9; } for (int x=0; x<ints.size(); x++) { System.out.println("["+name+"] "+x+"/"+ints.size()+". values >>>>"+ints.get(x)); } } finally { lock.unlock(); } return random; }

什么是信号量?

信号量是经常用于解决multithreading问题的编程概念。 我对社区的问题: 什么是信号量,你如何使用它?

“Java并发实践”仍然有效吗?

实践中的Java Concurrency仍然有效吗? 我想知道本书中介绍的思想,概念和实现是否仍然符合最新的Java版本。 我问,因为最新版本是在2006年完成的。