(1) Thread.currentThread().getName()是用于获取“当前线程”的名字。当前线程是指正在cpu中调度执行的线程。 (2) mythread.run()是在“主线程main”中调用的,该run()方法直接运行在“主线程main”上。 (3) mythread.start()会启动“线程mythread”,“线程mythread”启动之后,会调用run()方法;此时的run()...
privatevolatilebooleanstop=false; /** * 启动一个线程监控系统 */ voidstart(){ t =newThread(() -> { while(!stop) {//判断当前线程是否被打断 System.out.println("正在监控系统..."); try{ Thread.sleep(3*1000L);//执行 3 秒 System.out.println("任务执行 3 秒"); System.out.println("...
Thread thread = new MyThread(); thread.start(); try { Thread.sleep(2000); thread.interrupt(); System.out.println("stop 1??" + thread.interrupted()); System.out.println("stop 2??" + thread.interrupted()); } catch (InterruptedException e) { e.printStackTrace(); } } } 运行结果: s...
1. public class ThreadStopUnSafe { 2. public static User user = new User(); 3. 4. // 改变user变量的线程 5. public static class ChangeObjectThread extends Thread { 6. @Override 7. public void run() { 8. 9. while (true) { 10. synchronized (ThreadStopUnSafe.class) { 11. int v ...
stop(): 暴力停止线程。已弃用。 二、停止线程方法1:异常法停止 线程调用interrupt()方法后,在线程的run方法中判断当前对象的interrupted()状态,如果是中断状态则抛出异常,达到中断线程的效果。 如下示例: MyThread.java public class MyThread extends Thread { ...
sm.start(); try { //运行 10 秒后停止监控 Thread.sleep(10 * 1000); } catch (InterruptedExceptione) { e.printStackTrace(); } System.out.println("监控任务启动 10 秒后,停止..."); sm.stop(); } } /*系统监控器*/ class SystemMonitor { ...
方法一:创建一个自定义的线程类,继承自Thread,并且重写run()方法。在run()方法中,写线程要执行的任务。调用线程类对象的start()方法。 示例如下: public class MyThread extends Thread{ @Override public void run(){ super.run(); System.out.println("MyThread运行中"); ...
SystemMonitor();sm.start();try{//运行 10 秒后停止监控Thread.sleep(10*1000);}catch(InterruptedException e){e.printStackTrace();}System.out.println("监控任务启动 10 秒后,停止...");sm.stop();}}/*系统监控器*/classSystemMonitor{privateThread t;//线程中断标识privatevolatile boolean stop=false...
1. 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。2. 使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。3. 使用interrupt方法中断线程。
所以不建议使用System.out.println("代码到此处不会运行");}}publicstaticvoidmain(String[]args)throwsInterruptedException{Runnablerunnable=newUserRunnable();Threadthread=newThread(runnable);thread.start();// 强行中止线程// 从这里可以看出,JDK已经不建议使用stop()方法了,添加了@Deprecated注解thread.stop();...