package 练习;
import javax.swing.*;
/* 1.thread类的方法:
2.start:启动线程的方法
3.run:继承thread类重写run方法;
4.thread.currentThread.
setname:设置线程名(也可用对象名.setname方法)
getname:获取线程名
5.同样可以通过构造方法设置线程名
6.yield:方法 释放当前cpu使用权 但下一次可能还会是当前线程
7.join方法 线程a中调用了线程b 的join方法,此时线程a 进入阻塞状态 只有线程b执行完之后 a线程才可解除线程阻塞状态a才可执行
8.stop 方法 过时
9sleep 方法:睡眠 sleep(毫秒) 睡眠时间 指定时间内当前线程处于阻塞状态
10.isalive 判断当前线程是否存活
*/
public class ThreadMehtods {
public static void main(String[] args) {
oushu1 oushu = new oushu1();
// 也可用对象名.setname方法 oushu.setName("yyyy");
oushu.start();
//oushu.run(); 调用run方法 不可以
//oushu.run(); 不可重复调用start方法 可以重新创建对象start
// jishu1 jishu = new jishu1();
jishu1 haha = new jishu1("haha");
haha.start();
for (int i = 0; i < 100; i++) {
if (i%3==0) {
System.out.println(Thread.currentThread().getName()+ i);
}
if (i%30==0) {
try {
//7
oushu.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
System.out.println(haha.isAlive());
}
}
class oushu1 extends Thread
{
@Override
public void run() {
for (int i = 0; i < 100; i++) {
if (i%2==0) {
// 4 Thread.currentThread().setName("偶数");
System.out.println(Thread.currentThread().getName()+i);
}
//6
if (i%20==0) {
this.yield();
}
}
}
}
class jishu1 extends Thread
{
@Override
public void run() {
for (int i = 0; i < 100; i++) {
if (i%2!=0) {
// 4 Thread.currentThread().setName("奇数");
System.out.println(Thread.currentThread().getName()+i);
}
if (i%3==0) {
try {
//8
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
// 5通过构造方法设置线程名
public jishu1(String str)
{
super(str);
}
}
thread 类的常用方法
最新推荐文章于 2024-09-15 11:58:18 发布