![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
承 旭 Chards_
22届 offer 收割预备
展开
-
请说出你所知道的线程同步方法
线程同步同步方法同步代码块使用特殊域变量(volatile)实现线程同步不走缓存,可见性。该修饰词是对域变量的访问提供了以这种防锁机制,相当于告诉虚拟机,该域的变量可能被更改。因此每次使用该域都要重新计算,而不是从寄存器中取出数据。从而实现线程的同步。该修饰词不能修改final类型变量使用重入锁实现线程同步使用局部变量实现线程同步控制一个变量,当变量符合条件时候,执行代码块其中多线程实现过程中需注意 重写 run() 方法,而对于同步的实现方法中 使用较为常见的是 利用s原创 2020-10-16 17:44:57 · 382 阅读 · 0 评论 -
如何创建线程池? 线程池七大参数?
怎么创建线程池?Java通过Executors提供公司中线程池,分别为:CachThreadPool 创建一个可缓存的线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。FixedThreadPool 创建一个定长线程池,可控制最大线程并发数,超出的线程会在队列中等待ScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行SingleThreadExecutor 创建一个单线程化的线程池,他只会用唯一的工作线程来执行任务,保证所有的任务按照原创 2020-10-16 16:31:09 · 665 阅读 · 0 评论 -
线程池有了解么? 说一下线程池的启动策略(执行流程)?使用线程池的好处?
线程池线程池其实就是一个容纳多个线程的容器,其中的线程可以反复利用,省去了频繁创建线程对象的操作,无需反复创建线程而造成的过多的资源消耗。启动策略线程池刚创建时,里面一个线程。任务队列是作为参数传递进来的。不过就算里面有任务,线程池也不会马上执行他们。当调用execute() 方法添加一个任务时,线程池会做如下判断:如果线程池中正在运行的核心线程数量小于核心线程大小,那么线程池会创建一个核心线程去处理提交任务如果线程池核心线程数已满,即线程数等于核心线程数时,新提交的任务会放在任务队列中排原创 2020-10-16 15:47:44 · 514 阅读 · 0 评论