thread的状态

xiaoxiao2021-02-28  102

jvisualvm监控线程的几种状态

import com.afan.util.SleeepUtils; public class ThreadState { public static void main(String[] args){ new Thread(new TimeWaiting(),"TimeWaitingThread").start(); new Thread(new Waiting(),"waitingThread").start(); new Thread(new Blocked(),"blockedThread-1").start(); new Thread(new Blocked(),"blockedThread-2").start(); } //该线程不断地进行睡眠 static class TimeWaiting implements Runnable{ @Override public void run() { while(true){ SleeepUtils.second(100); } } } //该线程在waiting。class实例上等待 static class Waiting implements Runnable{ @Override public void run() { while(true){ synchronized (Waiting.class) { try{ Waiting.class.wait(); }catch(InterruptedException e){ e.printStackTrace(); } } } } } //该线程在Bocked.class实例上加锁后 不会释放该锁 static class Blocked implements Runnable{ @Override public void run() { synchronized (Blocked.class) { while(true){ SleeepUtils.second(100); } } } } }
转载请注明原文地址: https://www.6miu.com/read-26862.html

最新回复(0)