class RunIt{
public void getInfo(){
try{
Thread td = Thread.currentThread();
for(int i = 0; i < 5; i++){
Thread.sleep(10000);
System.out.println("线程名称:" + td.getName()
+ "线程ID: " + td.getId()
+ "-> " + i);
}
}catch(Exception e){
e.printStackTrace();
}
}
}
class ThreadDemo extends Thread{
private RunIt ri;
public ThreadDemo(RunIt ri){
this.ri = ri;
}
@Override
public void run(){
ri.getInfo();
}
}
public class HelloWorld{
public static void main(String[] args){
RunIt ri = new RunIt();
ThreadDemo td01 = new ThreadDemo(ri):
ThreadDemo td02 = new ThreadDemo(ri);
ThreadDemo td03 = new ThreadDemo(ri);
td01.start();
td02.start();
td03.start();
}
}
输出结果:
线程名称:Thread-1线程ID: 14-> 0
线程名称:Thread-0线程ID: 13-> 0
线程名称:Thread-2线程ID: 15-> 0
线程名称:Thread-1线程ID: 14-> 1
线程名称:Thread-2线程ID: 15-> 1
线程名称:Thread-0线程ID: 13-> 1
线程名称:Thread-1线程ID: 14-> 2
线程名称:Thread-0线程ID: 13-> 2
线程名称:Thread-2线程ID: 15-> 2
线程名称:Thread-1线程ID: 14-> 3
线程名称:Thread-0线程ID: 13-> 3
线程名称:Thread-2线程ID: 15-> 3
线程名称:Thread-1线程ID: 14-> 4
线程名称:Thread-0线程ID: 13-> 4
线程名称:Thread-2线程ID: 15-> 4
修改部分代码:
synchronized void getInfo(){
try{
Thread td = Thread.currentThread();
for(int i = 0; i < 5; i++){
Thread.sleep(1000);
System.out.println("线程名称: " + Thread.getName()
+ "线程ID: " + Thread.getId()
+ "-> " + i);
}
}catch(Exception e){
e.printStackTrace():
}
}
输出结果:
线程名称:Thread-0线程ID: 13-> 0
线程名称:Thread-0线程ID: 13-> 1
线程名称:Thread-0线程ID: 13-> 2
线程名称:Thread-0线程ID: 13-> 3
线程名称:Thread-0线程ID: 13-> 4
线程名称:Thread-2线程ID: 15-> 0
线程名称:Thread-2线程ID: 15-> 1
线程名称:Thread-2线程ID: 15-> 2
线程名称:Thread-2线程ID: 15-> 3
线程名称:Thread-2线程ID: 15-> 4
线程名称:Thread-1线程ID: 14-> 0
线程名称:Thread-1线程ID: 14-> 1
线程名称:Thread-1线程ID: 14-> 2
线程名称:Thread-1线程ID: 14-> 3
线程名称:Thread-1线程ID: 14-> 4
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。