首页 > 编程语言 >java-线程-3

java-线程-3

时间:2022-10-31 16:10:12浏览次数:37  
标签:java Thread dThread 线程 catch TODO public


/**
* 线程的加入
* 1.解释:就是在一个线程A里面的run()方法调用另一个线程B;理论上两个线程是互相独立的
* 这个时候我使用B.join();这个时候,A线程会停下来,然后让B线程优先运行,后来A在调用
* 2.语法:
* run(){
* 线程对象.join();//让原线程停下来
* 线程对象.join(“X毫秒”);//让原线程停下来X毫秒,超过X秒,原线程和线程对象抢占资源
* }
* @author 小虎牙
*
*/
public class Thread_3 {

public static void main(String[] args) {
Thread dThread=new Thread(new ThreadD());
dThread.start();
Thread eThread=new Thread(new ThreadE(dThread));
eThread.start();

}
}
class ThreadE implements Runnable {
Thread dThread;
public ThreadE(Thread dThread) {
// TODO 自动生成的构造函数存根
this.dThread=dThread;
}

@Override
public void run() {
// TODO 自动生成的方法存根
for (int i = 0; i < 10; i++) {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
System.out.println("线程E:" + i);
if(i==3) {
try {
System.out.println("开始礼让!");
dThread.join();
System.out.println("上个线程结束!");
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}

}

}
}
}
class ThreadD extends Thread {
@Override
public void run() {
// TODO 自动生成的方法存根
super.run();
for (int i = 0; i < 10; i++) {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
System.out.println("线程A:" + i);

}
}
}


标签:java,Thread,dThread,线程,catch,TODO,public
From: https://blog.51cto.com/u_15854304/5810098

相关文章

  • java-文件-初次见面-1
    packageFile1;importjava.io.File;importjava.io.IOException;importjava.text.SimpleDateFormat;//文件的检查是不是存在和创建的语句/***1.第一步创建和文件的关联......
  • java-线程-5
    packageThread_main;importjava.util.concurrent.locks.Lock;importjava.util.concurrent.locks.ReentrantLock;/***java的礼让.yield()这里的礼让,有可能没有礼让,了......
  • java-泛型-3
    package泛型;importjava.util.*;/***泛型的高级使用*1.泛型的继承或接口,用extends在<>里面实现*2.语法:A<TextendsanyClass>a;这里的泛型T必须是anyClass的子类......
  • java-集合-1
    packagejihe;/***java之集合的使用*解释*1.集合:集合就是一个容器,相当于一个动态的数组*2.介绍类有三种MapSetList***关系图:*......
  • java-线程-2
    /***两种使用Rannable实现进程的方法**@author小虎牙**/publicclassThread_2implementsRunnable{publicstaticvoidmain(String[]args){Threadt2=new......
  • java-集合-2
    packagejihe;importjava.util.ArrayList;importjava.util.Collection;importjava.util.Iterator;/***Collection接口*接口不能直接实例化,但是它提供了很多的方法*......
  • java-文件-字符流-2
    下面展示一些​​内联代码片​​。packageFile2_Char_file;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.FileW......
  • java-文件目录
    文件的学习:都是在java.io这个文件夹的包下面1.文件类:File1.字节输出流-InputStream-1.FileInputStream2.FilterInputStream过滤流BufferInputStream......
  • java-集合-3
    packagejihe;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;/***接口List**1.特点:list的集合内容可以重复,并且顺序就是插入的顺序......
  • java-线程-4
    packageThread_main;/***让线程有一个直接死亡的标志线程对象名.interrupt()*,调用线程类的interrupted方法,*其本质只是设置该线程的中断标志,将中断标志设置为true,并根......