Java同步线程无法按预期工作

时间:2017-05-11 04:19:52

标签: java multithreading

以下代码无法正常工作:

list1

当我运行这个程序时,我希望list2ArrayOutOfBounds每个包含2000个项目,并且程序需要大约2000毫秒。然而,很多时候我得到的列表少于2000个项目,尽管它确实在2000毫秒左右完成。有时我甚至会得到Started. Started. Exception in thread "Thread-1" java.lang.ArrayIndexOutOfBoundsException: 163 at java.util.ArrayList.add(ArrayList.java:459) at Worker.stageOne(JavaTest.java:34) at Worker.process(JavaTest.java:53) at Worker.run(JavaTest.java:14) at java.lang.Thread.run(Thread.java:748) Completed. Time taken: 2217 List1: 1081 List2: 1079 异常

stageOne

我希望stageTwolet contact=[{name:"Mithun"},{name:"Keerthana"},{name:"Jayendara"},{name:"Shivani"}] for (i=0;i<list;i++) { <h1>{content[0].name}</h1> } 中的每个锁都应该阻止线程相互干扰。但事实似乎并非如此。这段代码有什么问题?

1 个答案:

答案 0 :(得分:8)

您的锁定对象不是静态的,因此每个线程在不同的监视器上进行同步。所以锁完全没有任何效果。