2019-10-16 又是新的一天,开心

线程池工作原理

  • 接受任务,放入仓库
  • 工作线程从仓库取任务,执行
  • 如果仓库里没有任务,工作线程进入阻塞

任务用什么表示
Runnable
Callable 会有回调

仓库
map list 队列
BlockingQueue阻塞队列,在队列满是放入阻塞,为空时获取阻塞


仓库用什么.jpg

Executor void excute(Runnable command)
ExecutorService 加入关闭方法 和对Callable、Future的支持
ForkJoinPool

非核心线程创建时机
1.core max
2.queue max-------->非核心线程
Excutors 创建线程池的工厂类,减轻我们的任务
newFixedThreadPool(int nThreads)创建一个固定大小、任务队列容量无界的线程池。
newCachedThreadPool ()

newScheduledThreadPool(int corePoolSize)

事务
对应的单词Transaction
一个最小的不可再分的工作单元
通常一个事物对应一个完整的业务
而一个完整的十五需要批量的DML(insert updata delete)语句共同联合完成
事务只和DML语句有关,或者说DML语句才有事务
要不全成功,要不全失败

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容