前言前段时间写过一篇《线程池没你想的那么简单》,和大家一起撸了一个基本的线程池,具备:线程池基本调度功能。线程池自动扩容缩容。队列缓存线程。关闭线程池。这些功能,最后也留下了三个待实现的features。执行带有返回值的线程。异常处理怎么办?所有任务执行完怎么通知我?这次就实现这三个特性来看看j.u.c中的线程池是如何实现这些需求的。再看本文之前,强烈建议先查看上文《线程池没你想的那么简单》任务完
分类:
编程语言 时间:
2020-12-16 12:53:27
阅读次数:
6
托管调试助手 "DisconnectedContext":“针对此 RuntimeCallableWrapper 向 COM 上下文 0xc75058 的转换失败,错误如下: 系统调用失败。 (异常来自 HRESULT:0x80010100 (RPC_E_SYS_CALL_FAILED))。原因通常 ...
分类:
编程语言 时间:
2020-06-14 10:51:07
阅读次数:
92
当一个线程进入 wait 之后,就必须等其他线程 notify/notifyall,使用 notifyall,可 以唤醒所有处于 wait 状态的线程,使其重新进入锁的争夺队列中,而 notify 只能 唤醒一个。 如果没把握,建议 notifyAll,防止 notigy 因为信号丢失而造成程序异常 ...
分类:
其他好文 时间:
2020-06-07 23:02:43
阅读次数:
91
lang包 java.lang包是Java语言的核心类库(lang是language的缩写),包括了运行Java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等。每个Java程序运行时,系统都会自动地引入java.lang包,所以这个包的加载是缺省的。 思维导图 O ...
分类:
编程语言 时间:
2020-05-11 15:01:37
阅读次数:
62
1.引子 在java多线程并发编程中,有八大基础核心。考考你: 看看都有哪八大基础核心呢?它们分别是: 1.创建线程的方式 2.线程启动 3.线程停止 4.线程生命周期 5.线程相关的方法 6.线程相关的属性 7.线程异常处理 8.线程安全 今天我们从第六个基础核心开始:线程相关属性 2.考考你 # ...
分类:
编程语言 时间:
2020-02-12 10:29:03
阅读次数:
85
1.引子 在java多线程并发编程中,有八大基础核心。考考你:看看都有哪八大基础核心呢?它们分别是: 1.创建线程的方式 2.线程启动 3.线程停止 4.线程生命周期 5.线程相关的方法 6.线程相关的属性 7.线程异常处理 8.线程安全 今天我们从第五个基础核心开始:线程相关方法 2.考考你 #前 ...
分类:
编程语言 时间:
2020-02-08 11:53:16
阅读次数:
76
1.引子 在java多线程并发编程中,有八大基础核心。考考你:看看都有哪八大基础核心呢?它们分别是: 1.创建线程的方式 2.线程启动 3.线程停止 4.线程生命周期 5.线程相关的方法 6.线程相关的属性 7.线程异常处理 8.线程安全 今天我们从第四个基础核心开始:线程生命周期 2.考考你 #前 ...
分类:
编程语言 时间:
2020-02-06 12:55:30
阅读次数:
82
1.引子 在java多线程并发编程中,有八大基础核心。考考你:看看都有哪八大基础核心呢?它们分别是: 1.创建线程的方式 2.线程启动 3.线程停止 4.线程生命周期 5.线程相关的方法 6.线程相关的属性 7.线程异常处理 8.线程安全 今天我们从第二个基础核心开始:启动线程 2.考考你 #前情回 ...
分类:
编程语言 时间:
2020-02-04 11:07:51
阅读次数:
70
1.引子 在java多线程并发编程中,有八大基础核心。考考你:看看都有哪八大基础核心呢?它们分别是: 1.创建线程的方式 2.线程启动 3.线程停止 4.线程生命周期 5.线程相关的方法 6.线程相关的属性 7.线程异常处理 8.线程安全 今天我们从第一个基础核心开始:创建线程的方式 2.考考你 # ...
分类:
编程语言 时间:
2020-02-03 12:19:31
阅读次数:
93
一、线程管理 1、创建线程 Thread、Runnable、Callable、ThreadPool 2、状态切换 3、守护线程 4、异常捕获 5、局部变量 6、线程组 7、工厂类 二、同步 1、synchronized 2、ReentrantLock 三、同步辅助类 1、Semaphore信号量 2 ...
分类:
编程语言 时间:
2020-01-21 18:27:13
阅读次数:
102