//获取线程名字
public class Test {
public static void main(String[] args) {
System.out.println(Thread.currentThread().getName());
}
}
//设置线程名字:
public class MyRunnable implements Runnable{
@Override
public void run() {
System.out.println(Thread.currentThread().getName());
}
public static void main(String[] args) {
MyRunnable r = new MyRunnable();
Thread t = new Thread(r);
t.setName("线程名字");
t.start();
}
}
//设置线程优先级(注意:以下代码并不能保证t2先出结果)
public class MyRunnable implements Runnable{
@Override
public void run() {
System.out.println(Thread.currentThread().getName());
}
public static void main(String[] args) {
MyRunnable r = new MyRunnable();
Thread t = new Thread(r);
Thread t2 = new Thread(r);
t.setName("线程1");
t.setName("线程2");
//范围1-10
//Thread.MIN_PRIORITY:1
//Thread.MAX_PRIORITY:10
//Thread.NORM_PRIORITY:5
t.setPriority(2);//1-10
t2.setPriority(3);
t.start();
t2.start();
}
}
//start() run()部分区别
启动线程用start(),会开起一个新的线程;run()只是在当前线程中执行run中的代码,不会新开线程。
public class MyRunnable implements Runnable{
@Override
public void run() {
System.out.println(Thread.currentThread().getName());
}
public static void main(String[] args) {
MyRunnable r = new MyRunnable();
Thread t = new Thread(r);
t.setName("线程A");
t.run();//main
t.start();//线程A
}
}
//yield()
让线程重新争夺cpu,结果可能依然是当前线程先运行。
//使用线程的2中方法:1继承Thread 2实现Runnable。都需要重写其run方法