【发布时间】:2018-06-04 09:59:24
【问题描述】:
我正在学习 Java 中的多线程。下面是demo代码,很好奇Thread.yield()在函数内部的用法。
它不是一个同步函数,直到正在运行的任务完成它的工作才能调用它?那么在这个块中插入Thread.yield()和不插入有什么区别呢?
演示代码:
public class SynchronizeEvenGenerator {
private int currentEvenValue = 0;
/**
* Generate even and return it
* @return
*/
public synchronized int next() {
++currentEvenValue;
Thread.yield();
++currentEvenValue;
return currentEvenValue;
}
}
【问题讨论】:
标签: java multithreading task synchronized