1、void start() 启动线程,并执行对象的run方法
2、run() 线程在被调用时执行的操作
3、getName() 返回线程名称
4、setName()设置线程名称
5、Thread currentThread() 返回当前线程。
6、yield()释放当前CPU的执行权
7、join():在线程a中调用线程b的join(),此时线程a就进入堵塞状态,直到线程b完成执行完,线程a才会结束堵塞状态(这个我写出来不明显,自己去试试) 需要处理异常
try {
join();
} catch (InterruptedException e) {
e.printStackTrace();
}
8、sleep(long a):让当前线程睡眠指定的时间,a是毫秒数也需要处理异常
try {
sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
9、isAlive():判断当前线程是否存活 返回turn和false
代码实例
/**
*
* 测试Thread中的常用方法
*
* 1、void start() 启动线程,并执行对象的run方法
* 2、run() 线程在被调用时执行的操作
* 3、getName() 返回线程名称
* 4、setName()设置线程名称
* 5、Thread currentThread() 返回当前线程。
*
* @Author: GenGen
* @Description: 6Ge
* @DateTime: 2022/4/4 19:17
**/
public class ThreadMethodTest {
public static class Tread1 extends Thread{
@Override
/**
* @Author: 有根
* @Description:
* @DateTime: 19:21 2022/4/4
* @Params: []
* @Return []
*/
public void run() {
Thread.currentThread().setName("偶数线程");
for (int i = 0; i < 100; i++) {
if (i % 2 == 0){
System.out.println(Thread.currentThread().getName()+i);
}
}
}
}
/*
* @Author: GenGen
* @Description: 6Ge
* @DateTime: 2022/4/4 19:17
**/
public static class Thread2 extends Thread{
@Override
/**
* @Author: 有根
* @Description:
* @DateTime: 19:30 2022/4/4
* @Params: []
* @Return []
*/
public void run() {
Thread.currentThread().setName("三五整除线程");
int a = 3;
int b = 5;
for (int i = 0; i < 1000; i++) {
if (i%3 == 0 && i%5 ==0){
System.out.println(Thread.currentThread().getName()+i);
}
}
}
}
public static void main(String[] args) {
Tread1 tread1 = new Tread1();
Thread2 thread2 = new Thread2();
tread1.start();
thread2.start();
}
}
线程优先级等级
MAX_PRIORITY:10
MIN_PRIORITY:1
NORM_PRIORITY:5 (默认优先级)
涉及方法
getPriority():返回线程优先级
setPriority(int newPritrity):改变线程的优先级