1:项目结构

2:代码块
1:demo1
package tianyi.demo;
/**
* @Title:${贾天一}
* @Description: [娱乐]
*/
public class demoi1 {
public static void main(String[] args) {
//子线程A
Thread t = new Thread(new ThreadADemo(),"子线程AThreadAAAName");
t.start();
//子线程B
Thread t1 = new Thread(new ThreadBDemo(),"子线程BThreadBBBName");
t1.start();
//子线程C
ThreadCDemo t2= new ThreadCDemo("子线程CThreadCCCName");
t2.start();
//主线程
for(int i=0;i<=100;i++){
System.out.println("HelloWorld"+i);
}
}
}
2:ThreadADemo
package tianyi.demo;
/**
* @Title:${贾天一}
* @Description: [娱乐]
*/
public class ThreadADemo implements Runnable{
@Override
public void run() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
for (int i=0;i<=100;i++){
System.out.println(Thread.currentThread().getName()+"\t"+i);
//获取当前项目的名称
}
}
}
3:ThreadBDemo
package tianyi.demo;
/**
* @Title:${贾天一}
* @Description: [娱乐]
*/
public class ThreadBDemo implements Runnable{
@Override
public void run() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
for (int i=0;i<=100;i++){
System.out.println(Thread.currentThread().getName()+"\t"+i);
}
}
}
4:ThreadCDemo
package tianyi.demo;
/**
* @Title:${贾天一}
* @Description: [娱乐]
*/
public class ThreadCDemo extends Thread {
private String name;
public ThreadCDemo(String name){
this.name =name;
}
@Override
public void run() {
for(int i=0;i<=100;i++){
System.out.println(this.name+i);
}
}
}
3:效果展示

地方太小,无法全部展示完。自己去运行,查看结果。
本文探讨了在Java中实现多线程的两种方式:继承Thread类和实现Runnable接口。通过示例代码ThreadADemo、ThreadBDemo和ThreadCDemo,详细解释了两种方法的创建和启动过程,分析了各自的优缺点和适用场景。
3023

被折叠的 条评论
为什么被折叠?



