Java多线程编程-常用方法-join yield方法
原创约 427 字大约 1 分钟...
yield方法.md
245-Java多线程编程-常用方法-join &注意
本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。
概念

示例代码
package com.tencent.chapter04.常用方法;
/**
* join:导致当前线程等待,直到调用该方法之前的所有线程执行结束
*/
public class JoinDemo {
public static void main(String[] args) {
Thread4 t1 = new Thread4(1,10);
t1.start();
Thread4 t2 = new Thread4(11,20);
t2.start();
try {
t2.join();//让t2插队,让t2之前的所有线程先执行完成,后续的代码才可以继续执行
} catch (InterruptedException e1) {
e1.printStackTrace();
}
for (int i = 100; i <= 110; i++) {
System.out.println(Thread.currentThread().getName() + ":" + i);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class Thread4 extends Thread{
private int begin;
private int end;
public Thread4(int begin,int end)
{
this.begin = begin;
this.end = end;
}
@Override
public void run() {
for (int i = begin; i <= end; i++) {
System.out.println(Thread.currentThread().getName() + ":" + i);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
package com.tencent.chapter04.常用方法;
/**
* yield():让出更多的CPU时间给其他的线程
*
*/
public class YieldDemo {
public static void main(String[] args) {
Thread5 t1 = new Thread5();
t1.start();
Thread6 t2 = new Thread6();
t2.start();
}
}
class Thread5 extends Thread{
@Override
public void run() {
for (int i = 1; i <= 10; i++) {
System.out.println(Thread.currentThread().getName() + ":" + i);
Thread.yield();//让出更多的CPU时间给其他的线程
}
}
}
class Thread6 extends Thread{
@Override
public void run() {
for (int i = 11; i <= 20; i++) {
System.out.println(Thread.currentThread().getName() + ":" + i);
}
}
}
分割线
相关信息
以上就是我关于 Java多线程编程-常用方法-join & yield方法 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。。
Powered by Waline v2.15.4