![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
l昨日青天
这个作者很懒,什么都没留下…
展开
-
java之运用Condition实现消费者、生产者模式
package concurrency.lock;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class Condition01 { static Lock lock = new ReentrantLock(); static Condition f原创 2021-03-02 15:50:39 · 240 阅读 · 0 评论 -
java并发编程(二)之线程池
文章目录一 摘要二 线程池的好处三 线程池解决的问题四 ThreadPoolExecutor总体设计五 ThreadPoolExecutor核心参数5.1 corePoolSize5.2 maximumPoolSize5.3 keepAliveTime5.4 unit5.5 workQueue5.6 threadFactory5.7 handler六 ThreadPoolExecutor参数设置6.1 corePoolSize6.2 queueCapacity6.3 maxPoolSize6.4 keepA原创 2020-12-14 17:13:38 · 174 阅读 · 0 评论 -
线程排查死锁
多线程运行过程中,大家都会遇到死锁问题,当面试官问你如何排查死锁的时候,最基本的方式我觉得应该要掌握:jps + jstackjps+jstack在cmd中首先运行jps -l 指令,获取java进程的pid然后jstack -l [pid]JConsoleJConsole在cmd中运行JConsole指令,进入Java监视和管理控制台,选择要检查死锁的类—>选择线程—>死锁—>获取死锁位置...原创 2020-12-08 10:59:27 · 152 阅读 · 0 评论 -
Java并发编程(一)之Runnable、Callable、Future、FutureTask、ExecutorService
Runnable、Callable、Future和FutureTaskJava中创建线程的3种方式,一种是直接继承Thread类,一种就是实现Runnable接口,最后一种是实现Callable接口:1、继承Thread方式,重写run方法:package thread;public class ThreadTest extends Thread { public void run() { System.out.println(Thread.currentThread().原创 2020-12-07 20:10:48 · 417 阅读 · 0 评论