标签: java multithreading concurrency
我发现这个问题很简单,我甚至不需要帮助。花了一段时间。
答案 0 :(得分:0)
方法上的synchronized关键字会锁定整个对象,而不是您想要的一小部分代码。这意味着nextTask和getTask会导致彼此阻止。
synchronized
nextTask
getTask
最好在内部使用ConcurrentLinkedQueue或堆栈。另外,你打算跳过数组的第一个元素吗?数组索引从0开始。
ConcurrentLinkedQueue