//方法currentThread()
//currentThread()方法可以返回代码段正在被哪个线程调用.
// 线程中一个比较常用的方法吧
public class TestDemo {
public static void main(String[] args) {
//获取当前线程的name
System.out.println(Thread.currentThread().getName());
}
}
class MyThread6 extends Thread{
public MyThread6(){
System.out.println("构造方法打印:"+Thread.currentThread().getName());
}
@Override
public void run() {
super.run();
System.out.println("run方法打印:"+Thread.currentThread().getName());
}
}
class Run2{
public static void main(String[] args) {
// MyThread6 的构造方法是被main线程调用的
MyThread6 mythread6=new MyThread6();
// 而run方法是被名为Thread-0的线程调用的,run方法是被JVM自动调用的
mythread6.start();
}
}
class Run3{
public static void main(String[] args) {
MyThread6 myThread6 =new MyThread6();
//my.run() 立即执行run方法,不启动新的线程
//my.start(); 执行run()方法时机不确定,启动新的线程
myThread6.run();
}
}
class CountOperate extends Thread{
public CountOperate(){
System.out.println("CountOperte-begin");
System.out.println("Thread.currentThread().getName()="+this.currentThread().getName());
System.out.println("Thread.getName()="+this.getName()); //这个name如果不设置默认Thread-0
System.out.println("CountOperte-end");
}
@Override
public void run() {
super.run();
System.out.println("run-begin");
System.out.println("Thread.currentThread().getName()="+this.currentThread().getName());
System.out.println("Thread.getName()="+this.getName());
System.out.println("run-end");
}
}
class Run4{
public static void main(String[] args) {
CountOperate countOperate=new CountOperate();
Thread t1=new Thread(countOperate);
t1.setName("123");
t1.start();
}
}
java多线程27-30(方法currentThread()讲解)
最新推荐文章于 2024-07-10 21:37:49 发布