1_7_2_07_多线程原理_随机性打印结果1_7_2_08_多线程原理_多线程内存图解
程序和上一次的一样。
1_7_2_09_Thread类的常用方法_获取线程名称
MyThread的代码
public class MyThread extends Thread{
@Override
public void run(){
String name = getName();
System.out.println(name);
}
}
主程序代码
public class Hello {
public static void main(String[] args) {
MyThread mt = new MyThread();
mt.start();
}
}
输出
接下来改变主程序代码
public class Hello {
public static void main(String[] args) {
MyThread mt = new MyThread();
mt.start();
// 加入新的代码
new MyThread().start();
new MyThread().start();
new MyThread().start();
}
}
输出
说明这四个线程是同一个优先级的
获取线程名字-方法2
Thread name = Thread.currentThread();
System.out.println(name);
MyThread的程序:不使用getName()方法
public class MyThread extends Thread{
@Override
public void run(){
Thread name = Thread.currentThread();
System.out.println(name);
}
}
输出
使用getName()方法
Thread t = Thread.currentThread();
String name = t.getName();
System.out.println(name);
public class MyThread extends Thread{
@Override
public void run(){
Thread t = Thread.currentThread();
String name = t.getName();
System.out.println(name);
}
}
System.out.println(Thread.currentThread().getName());集成起来
MyThread代码
public class MyThread extends Thread{
@Override
public void run(){
System.out.println(Thread.currentThread().getName());
}
}
1_7_2_10_Thread类的常用方法_设置线程名称
MyThread代码
public class MyThread extends Thread{
@Override
public void run(){
System.out.println(Thread.currentThread().getName());
}
}
主方法
public class Hello {
public static void main(String[] args) {
MyThread mt = new MyThread();
mt.setName("hello");
mt.start();
}
}
方法2,不太懂
MyThread代码
public class MyThread extends Thread{
public MyThread(){}
public MyThread(String name){
super(name);
}
@Override
public void run(){
System.out.println(Thread.currentThread().getName());
}
}
主方法
public class Hello {
public static void main(String[] args) {
MyThread mt = new MyThread();
mt.setName("小强");
mt.start();
// 开启多线程
new MyThread("旺财").start();
}
}