![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
猪饲夫妇、
这个作者很懒,什么都没留下…
展开
-
解决内建锁锁不住Integer类型全局变量问题的两种方法
解决内建锁锁不住Integer类型全局变量自增自减问题的两种方法 了解这种问题的解决方法之前,我们先来看一下产生此种问题的原因 class MyThread implements Runnable{ static Integer num=0; public static Integer getNum() { return num; } @Over...原创 2019-05-09 20:09:19 · 432 阅读 · 0 评论 -
线程池
线程池 我们通过学习多线程部分可知,创建线程的方法有四种:继承Thread类、实现Runnable接口、实现Callable接口和线程池。这四种方法中最推荐的方法就是线程池了。那么为什么推荐使用线程池创建线程呢?这一问题也是面试过程中常问的点,需理解记忆。 以下为推荐使用线程池创建线程的三个原因(线程池的优点): 1.降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁带来的消耗。 2.提高响...原创 2019-05-10 21:04:22 · 117 阅读 · 0 评论 -
FutureTask详解及典型用例----高并发实现烧水泡茶
FutureTask详解及典型用例----高并发实现烧水泡茶 Future接口:作用为获取Callable接口的返回值 FutureTask类为Future接口子类,该类独有的特点为在高并发情况下不论有多少个线程,均只执行一次任务。 get()方法的作用为阻塞当前线程直到有返回值为止。 使用Future接口中get()方法的两种情况: (1)提交线程的同时调用get()方法 class Calla...原创 2019-05-18 12:16:52 · 722 阅读 · 0 评论