![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java面试基础知识复习
文章平均质量分 92
Java面试基础知识复习
天空鸟_时光不老
这个作者很懒,什么都没留下…
展开
-
java多线程与线程池-05并发编程应用
Tomcat自定义了线程池,它继承了java.util.concurrent.ThreadPoolExecutor。这里新增了一个成员变量submittedCount,它用于监控已经提交但尚未完成的任务数量,这包括已经在队列中的任务和已经交给工作线程但还未开始执行的任务,这个数字总是大于或等于getActiveCount()的数量。[外链图片转存中…(img-sGhbYxtk-1678442290101)]原创 2023-03-10 17:59:38 · 477 阅读 · 0 评论 -
java多线程与线程池-04线程池与AQS
java.util.concurrent包中的绝大多数同步工具,如锁(locks)和屏障(barriers)等,都基于AbstractQueuedSynchronizer(简称AQS)构建而成。这个框架提供了一套同步管理的通用机制,如同步状态的原子性管理、线程阻塞与解除阻塞,还有线程排队等。原创 2023-03-10 17:17:24 · 589 阅读 · 0 评论 -
java多线程与线程池-03线程池与阻塞队列
队列是一种特殊的集合,一般队列都具有先进先出(FIFO)的特性(并不绝对要求)。优先级队列(PriorityQueue)按照元素的比较方法排序,其他队列基本采用自然序排队。队列Queue接口实现了Collection接口,offer()方法负责把元素插入队列中。peek()方法检索队列头是否存在元素(不移除元素),poll()方法则是检索并移除元素。当队列为空时,peek()和poll()方法都返回null。BlockingQueue为阻塞队列接口,它继承了Queue接口。BlockingQueue接口中新原创 2023-03-10 17:11:51 · 895 阅读 · 0 评论 -
java多线程与线程池-02线程池与锁
ThreadPoolExecutor是应用最广的底层线程池类,它实现了Executor和ExecutorService接口。原创 2023-03-10 15:34:44 · 472 阅读 · 0 评论 -
java多线程与线程池-01多线程知识复习
synchronized要解决的是共享资源冲突的问题。当共享资源被任务使用时,要对资源提前加锁。所有任务都采用抢占模式,即某个任务会抢先对共享资源加上第一把锁。如果这是一个排他锁,其他任务在资源被解锁前就无法访问了。如果是共享锁,当浏览某些数据时,其他任务也可以同时浏览,但是不允许修改。Java提供了资源同步的关键字synchronized,它的作用是获取指定对象的监视器锁。每个Object对象都内置了一个监视器锁,当某个线程获得了这个监视器锁后,其他线程再想获得这个对象的监视器锁,就必须要排队等待。原创 2023-03-08 16:49:17 · 399 阅读 · 0 评论