- start 启动线程 执行run方法
- setName,getName 设置、获取线程名称
- currentThreadd() 返回执行当前代码的线程
- yieid() 是否当前cpu执行权; 但是还是有可能抢到执行权
- sleep() 阻塞当前线程 单位毫秒
- join 线程A中使用线程B调用join方法 此时线程A阻塞 等待线程B执行完毕后 线程A继续执行
isAlive 判断当前线程是否还存活 ```java /**
- 创建人:LYY
- 创建时间:2022/4/25
线程常用的方法 */ public class ThreadMethod {
public static void main(String[] args) {
ThreadOne threadOne1 = new ThreadOne(); try {
// 设置当前线程名称
Thread.currentThread().setName("主线程:");
// 设置线程名称
threadOne1.setName("线程一:");
// 启动线程 执行操作
threadOne1.start();
// 主线程执行
for (int i = 0; i < 100; i++) {
if (i % 2 != 0) {
System.out.println(Thread.currentThread().getName() + "i = " + i);
}
if (i == 23) {
// 释放当前线程cpu的执行权; 但是可能还会抢到执行权
threadOne1.yield();
}
if (i == 29) {
// 判断当前线程是否还存活
boolean alive = threadOne1.isAlive();
// A线程中调用B线程 此时阻塞A线程 直至B线程执行完成后 A线程继续执行
threadOne1.join();
}
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
```java
/**
* 创建人:LYY
* 创建时间:2022/4/25
*
* 多线程创建方式一:
* 1. 创建一个继承Thread类的子类
* 2. 重写Thread类的run方法
* 3. 将要执行的内容写在run方法体内
* 4. 通过对象调用当前子类的start方法
*/
public class ThreadOne extends Thread{
@Override
public void run() {
// 输出1-100的偶数
for (int i = 0; i < 100; i++) {
if (i % 2 == 0) {
System.out.println(this.getName() + "i = " + i + "**");
}
if (i == 50) {
// 睡眠(阻塞)3秒后执行
try {
sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}