Thread.yield()方法表示交出主动权,join表示等待当前线程,可以指定秒数
2018-01-24 15:11
381 查看
Thread.yield()方法表示交出主动权,join表示等待当前线程,可以指定秒数
学习了:http://www.importnew.com/14958.html 膜拜一下
源码膜拜:
Thread.yield()没准,顺序输出不一定;
Join表示要等待当前线程,可以指定等待的毫秒数;
学习了:http://www.importnew.com/14958.html 膜拜一下
源码膜拜:
Thread.yield()没准,顺序输出不一定;
package com.stono.thread; public class YieldExample { public static void main(String[] args) { Thread producer = new Producer(); Thread consumer = new Consumer(); producer.setPriority(Thread.MIN_PRIORITY); consumer.setPriority(Thread.MAX_PRIORITY); producer.start(); consumer.start(); } } class Producer extends Thread{ @Override public void run() { for(int i=0;i<5;i++){ System.out.println("I am Producer: Procuded Item ============="+ i); Thread.yield(); } } } class Consumer extends Thread{ @Override public void run() { for(int i=0;i<5;i++){ System.out.println("I am consumer: Consumed Item "+i); Thread.yield(); } } }
Join表示要等待当前线程,可以指定等待的毫秒数;
package com.stono.thread; import java.util.concurrent.TimeUnit; public class JoinExample { public static void main(String[] args) throws InterruptedException { Thread t = new Thread(new Runnable() { public void run() { System.out.println("First task started"); System.out.println("Sleeping for 2 seconds"); try { //Thread.sleep(2000); TimeUnit.SECONDS.sleep(2); } catch (Exception e) { e.printStackTrace(); } System.out.println("First task complete"); } }); Thread t1 = new Thread(new Runnable() { public void run() { System.out.println("Second task completed"); } }); t.start(); t.join(); // t.join(100); // 这个表示等待100毫秒 t1.start(); } }
相关文章推荐
- java进阶 线程池 join用法总结:thread4.join();方法,就表明thread4.join();这个线程受到贵客待遇,直到这个线程执行完,被插入这个方法的载体线程才可以执行。
- Thread 提供的让一个线程等待另一个线程完成的方法:join()方法
- Thread.join()方法实现main()方法等待所有子线程执行完成[base jdk8]
- 多线程之join()方法---(Thread提供的让一个线程等待另一个线程完成的方法)
- java学习总结——线程的sleep、yield、join方法
- Java线程中yield与join方法的区别
- 细分线程的等待(WaitAny,WaitAll),区别于Thread.Join
- 详细介绍了java线程Thread的join()方法
- Java线程中yield与join方法
- 通过线程计数器和Thread.Join方法得到线程已完成状态
- Java Thread.join()详解--父线程等待子线程结束后再结束
- Java线程中yield与join方法的区别
- Java线程中sleep()、wait()和notify()和notifyAll()、yield()、join()等方法的用法和区别
- Java线程中yield与join方法的区别
- Java中的线程Thread方法之---join()
- java Thread 线程的.Join()方法
- 《并发编程》--5.线程等待结束(join)和线程谦让(yield)
- Java线程中yield与join方法的区别
- java线程当中 sleep() join() yield()方法的简单比较以及如何保护共享数据介绍
- Java线程中sleep()、wait()和notify()和notifyAll()、yield()、join()等方法的用法和区别