multithread
thankever
这个作者很懒,什么都没留下…
展开
-
优雅的停止线程
在平常的开发中我们想打断一个正在blocking的线程,或者结束执行任务超时的线程可以通过下面的几种方式优雅的停止线程。、 1.利用标识符去停止一个线程 通过捕获到标识符的改变从而结束任务,结束线程。 2.利用java的Interrupt()去结束线程 执行结果 通过调用Interrupt()抛出一个InterruptedException程序捕获到这个异常后结束b...原创 2018-05-15 20:52:24 · 1065 阅读 · 0 评论 -
java多线程join()详解
Thread的join方法是一个非常重要的方法。使用它的特性可以实现很多比较强大的功能。虽然在编码中很少去直接使用,但是在并发包中被大量使用,所以了解它的作用与实现是很有必要的。 public static void main(String[] args) { Thread thread = new Thread(() -> { try ...原创 2018-08-05 21:02:28 · 678 阅读 · 0 评论 -
多线程下的设计模式-观察者设计模式
在某些场景下我们需要为一些比较重(资源过大,处理时间很长)的事情起一个新线程,与此同时,我们需要观察这写线程的每个阶段的情况,便于做出处理,一直去询问线程你正在处于什么阶段这样的设计肯定是不合理的,那么这个时候观察者设计模式就派上用处了。 线程生命周期的观察者 只要是实现了我规定的接口的类就可以是一个线程生命周期的观察者。 /** * @author guoxingyon...原创 2018-08-06 16:47:53 · 969 阅读 · 0 评论 -
多线程下的设计模式-future设计模式
在开发中常常会出现一种情况,一个任务需要执行很长的时间,但是你肯定不希望它会阻塞你的线程,在java中有一个Future的类,它相当于一个凭证,当你需要执行结果的时候给你,这个凭证是立即返回的,当你需要的时候去拿结果就行了。 Future与Future的简单实现 public interface Future<T> { T get() throws Inter...原创 2018-08-14 23:28:31 · 140 阅读 · 0 评论 -
多线程下设计模式—生产者消费者模式
多线程中比较经典的就是生产者消费者模式了,很多复杂的模式也是在这个基础上演变的。里面也又很多的小知识点。 生产者消费者代码 public class AssemblyLine<T> { //存放生产数据的队列 private final List<T> queue; //最大生产值 private final int queueMaxSize; publi...原创 2018-08-16 21:24:25 · 148 阅读 · 0 评论 -
线程上下文设计模式-ThredLocal
在开发过程中其实我们经常遇见上下文(上下文),例如弹簧的ApplicationContext中,Servlet的的参数servletContext,上下文就是贯穿整个系统或者阶段生命周期的对象,其中存贮了一些系统的全局变量信息。在很多时候,单个线程的执行任务步骤非常多的时候,后面的某一步骤需要前面的输出值(责任链模式中特别多),那么需要将参数从头传递到尾,这样会特别的麻烦,并且在参数过多的情...转载 2018-08-19 21:49:13 · 1085 阅读 · 0 评论 -
CAS原理剖析
CAS剖析好文转载 2018-08-31 20:43:13 · 157 阅读 · 0 评论