您现在的位置是:主页 > news > 网页版传奇工作室/seo查询系统
网页版传奇工作室/seo查询系统
admin2025/5/8 1:06:12【news】
简介网页版传奇工作室,seo查询系统,淘宝自己建的网站,做网站大概要多背景:java知识比较宽泛,最好对每一类知识点进行分类总结,方便后面学习查看。该文主要用来总结多线程方面的知识点。并发与并行的概念并发性(concurrency)和并行性(parallel)是两个概念——并行指在同一时刻,有多条指令在多个处理器…
背景:java知识比较宽泛,最好对每一类知识点进行分类总结,方便后面学习查看。该文主要用来总结多线程方面的知识点。
并发与并行的概念
并发性(concurrency)和并行性(parallel)是两个概念——
并行指在同一时刻,有多条指令在多个处理器上同时执行;
并发指在同一时刻只能有一条指令执行,但多个进程指令被快速轮换执行,使得在宏观上具有多个进程同时执行的效果。
出自《疯狂java讲义》第16章 多线程
线程的状态转换
1. 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。2. 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。
线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的使用权,此时处于就绪状态(ready)。就绪状态的线程在获得CPU时间片后变为运行中状态(running)。3. 阻塞(BLOCKED):表示线程阻塞于锁。4. 等待(WAITING):进入该状态的线程需要等待其他线程做出一些特定动作(通知或中断)。5. 超时等待(TIMED_WAITING):该状态不同于WAITING,它可以在指定的时间后自行返回。6. 终止(TERMINATED):表示该线程已经执行完毕。
ps:初始(new)、运行(runnable)、阻塞(blocked)、等待(waiting)、超时等待(timed_waiting)、终止(terminated)
CyC2018
sleep()和yield()方法的区别
什么情况下会抛出InterruptedException,为什么会抛出?
sleep()和wait()方法的最大区别是:
sleep()睡眠时,保持对象锁,仍然占有该锁;
而wait()睡眠时,释放对象锁。
但是wait()和sleep()都可以通过interrupt()方法打断线程的暂停状态,从而使线程立刻抛出InterruptedException(但不建议使用该方法)。
CAS与volatile
CountDownLatch、CyclicBarrier和Semaphore
多线程interrupt()和线程终止方式
线程池的使用和分析