Java 并发编程
文章平均质量分 86
Java 并发编程
BlackBlackMamba
这个作者很懒,什么都没留下…
展开
-
线程池
什么是线程池?线程池就是创建若干个线程放入容器中,执行任务的线程提交任务到线程池队列,执行完毕会放回线程池,等待下一次任务。好处是:Java创建线程是调用操作系统的 API,操作系统需要分配资源,成本很高,为了节省资源和效率,最好不要频繁创建和销毁,引入线程池节省了系统开销。如何使用线程池创建单线程?ExecutorService executorService = Executors.newSingleThreadExecutor(); // 提交线程 ex原创 2020-10-10 18:39:28 · 156 阅读 · 0 评论 -
线程
怎么创建线程?创建线程的三种方式:1.继承 Thread 类,重写 run()2.实现 Runnable 接口3.实现 Callable 接口,返回 FutureTask .get() 获取执行结果线程的生命周期(线程的 6 种状态)1. NEW - 初始状态 Thread t = new Thread();2. RUNNABLE - 运行状态 t.start();// 就绪状态 多个线程争抢 CPU 时间片,抢到后变为运行状态 时间片到期,变为就绪状态,再次参与时间原创 2020-10-10 15:56:24 · 151 阅读 · 0 评论 -
并发编程 Synchornized、ReetTrantLock
Synchornized 的锁机制是如何实现的?同步代码块是使用 monitorenter (获取锁) 和 moniterexit (释放锁) 指令来实现的。moniterenter 指令插入同步代码开始位置,moniterexit 插入同步代码结束位置, 任何一个对象都有一个moniter 与之关联,当一个moniter 被持有时,它将处于锁定状态,线程执行到moniterenter 指令时,将会尝试取得对应的moniter 的控制权。Synchornized 锁的升级过程JDK 1.6 之前时原创 2020-10-11 16:22:00 · 159 阅读 · 0 评论