黑马程序员技术交流社区

标题: 多线程的yield方法的疑问 [打印本页]

作者: 吴刚    时间: 2013-5-17 23:02
标题: 多线程的yield方法的疑问
本帖最后由 吴刚 于 2013-5-28 23:21 编辑

wait()我知道释放cpu执行权,并且释放锁,sleep释放cpu的同时不释放锁,那么yield方式是暂时停止线程,那么会释放锁吗??谢谢先(ˇˍˇ)

作者: 张迁    时间: 2013-5-17 23:31
yield方法是将一个线程的操作暂时让给其他线程执行,这个过程会释放锁,暂时放弃cpu的执行权。
作者: 王九日    时间: 2013-5-17 23:48
不会释放锁的<public class YieldTest {
        public static void main(String args[]) {
                Test2 a = new Test2();
                Thread t = new Thread(a);
                Thread t1 = new Thread(a);
                t.start();
                t1.start();
        }
}
class Test2 implements Runnable {
       
        public void run() {
                int a=0;
                synchronized (this) {
                while(a<100){
                                System.out.println(Thread.currentThread().getName() + "--"+a++);
                                Thread.yield();
                }
                }
        }
}>
作者: 吴刚    时间: 2013-5-18 20:07
谢谢楼上了....




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2