随笔分类 - java多线程
摘要:什么是任务调度? 在实际业务中,我们经常需要定时、定期、或者多次完成某些任务,对这些任务进行管理,就是任务调度。任务调度与多线程密切相关。 任务调度有多种方式 Timer与TimerTask配合 Timer 定时器,能在主线程外另起线程完成任务。 TimerTask 实现Runnable接口的抽象类
阅读全文
摘要:本文只做简要解析,实际情形下我们多用spring的taskExecutor 直接使用new Thread()创建线程的缺点: 1、new Thread()耗费性能 2、调用new Thread()创建的线程缺乏管理,被称为野线程,而且可以无限制创建,之间相互竞争,会导致过多占用系统资源导致系统瘫痪。
阅读全文
摘要:首先,什么是this逃逸? this逃逸是指类构造函数在返回实例之前,线程便持有该对象的引用。 常发生于在构造函数中启动线程或注册监听器。 eg:
阅读全文
摘要:并发编程常有三个概念: 原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 可见性:指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。 有序性:即程序执行的顺序按照代码的先后顺序执行。 对于物理机内存模型 存在原子性
阅读全文