线程在执行过程中,可以处于下面几种状态:1、就绪(Runnable):线程准备运行,不一定立马就能开始执行。2、运行中(Running):进程正在执行线程的代码。3、等待中(Waiting):线程处于阻塞的状态,等待外部的处理结束。4、睡眠中(Sleeping):线程被强制睡眠。5、I/O阻塞(BlockedonI/O):等待I/O操作完成。6...
1、newCachedThreadPool:底层:返回ThreadPoolExecutor实例,corePoolSize为0;maximumPoolSize为Integer.MAX_VALUE;keepAliveTime为60L;unit为TimeUnit.SECONDS;workQueue为SynchronousQueue(同步队列)通俗:当有新任务到来,则插入到SynchronousQueue中,由于SynchronousQueue是同步队列,因此会在池中寻找可用线程来...
Busy Spin在Java中是一种线程等待机制,具体解释如下:定义:Busy Spin,即“忙等待”或“自旋等待”,是指当一个线程需要等待某个条件成立时,不是进入阻塞状态等待CPU调度,而是执行一个空的循环,持续检查该条件是否满足。特点:不释放CPU资源:在等待期间,线程不会放弃CPU的使用权,因此会持续占用一...
进程进入等待状态的方式主要有以下几种:CPU调度给优先级更高的线程:当操作系统进行CPU调度时,如果有一个优先级更高的线程就绪,当前运行的线程可能会被抢占CPU资源,从而进入等待状态。阻塞的线程获得资源或者信号:当一个线程因为等待某个资源而被阻塞时,一旦该资源变得可用或者收到了期望的信号,该线...
备忘录模式:在不破坏封装性的前提下,捕获并恢复对象的内部状态。 观察者模式:定义对象间的一种一对多的依赖关系,当一个对象改变状态时,其所有依赖者都会收到通知并自动更新。 状态模式:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎改变了它的类。 策略模式:定义了一系列的算法,并...