[Java并发-22-并发设计模式] Thread-Per-Message 与 Worker Thread 模式

2019-07-12
阅读 5 分钟
2k
我们曾经把并发编程领域的问题总结为三个核心问题:分工、同步和互斥。其中,同步和互斥相关问题更多地源自微观,而分工问题则是源自宏观。我们解决问题,往往都是从宏观入手,同样,解决并发编程问题,首要问题也是解决宏观的分工问题。

[Java并发-19-并发设计模式] ThreadLocal | 线程本地存储模式

2019-07-09
阅读 5 分钟
2.9k
我们曾经重复说到,多个线程同时读写同一共享变量存在并发问题。前面两篇文章我们突破的是写,没有写操作自然没有并发问题了。其实还可以突破共享变量,没有共享变量也不会有并发问题。

[Java并发-13] ThreadPoolExecutor: 如何创建正确的线程池

2019-06-23
阅读 4 分钟
4.5k
虽然在 Java 语言中创建线程看上去就像创建一个对象一样简单,只需要 new Thread() 就可以了,但实际上创建线程远不是创建一个对象那么简单。创建对象,仅仅是在 JVM 的堆里分配一块内存而已;而创建一个线程,却需要调用操作系统内核的 API,然后操作系统要为线程分配一系列的资源,这个成本就很高了,所以线程是一个重...