多线程常用方法
1.获取线程的名字
setName()
getName()
获取当前线程对象
static Thread currentTread()
Thread currentThread = Thread.currentThread;
currentThread.getName();
Thread.currentThread.getName();
2.线程的sleep方法 静态方法 static voidsleep(long millis)
让当前线程进入休眠,进入“阻塞状态”,放弃占有CPU时间片,让给其它线程使用
可以间隔特定的时间去执行一段特定的代码,每隔多久执行一次
*注意是静态方法
3.终止线程的睡眠
*run方法中的异常不能throws
因为run方法在父类中没有抛出任何异常,子类重写后不能抛出更多异常
interrupt(),中断睡眠的方式依靠了java异常处理机制
4.强行终止一个线程
stop() (已过时,不建议使用) 存在缺点:容易丢失数据 直接将线程杀死了
合理的终止一个线程
设置一个boolean标记,作为条件来终止线程,先执行判断再执行代码保存数据,然后终止
5.合理的终止一个线程
public class Test_06 {
public static void main(String[] args) {
MyThread4 myThread4 = new MyThread4();
Thread thread = new Thread(myThread4);
thread.start();
try {
Thread.sleep(1000 * 5);
} catch (InterruptedException e) {
e.printStackTrace();
}
myThread4.run = false;
}
}
class MyThread4 implements Runnable{
boolean run = true;
@Override
public void run() {
for (int i = 0; i < 10; i++) {
if (run) {
System.out.println(Thread.currentThread().getName() + "---->" + i);
try {
Thread.sleep(1000 * 2);
} catch (InterruptedException e) {
e.printStackTrace();
}
}else {
// 这里写代码
// 在结束之前进行数据保存
return;
}
}
}
}

浙公网安备 33010602011771号