熟悉Java多线程编程的同学都知道,当我们线程创建过多时,容易引发内存溢出,因此我们就有必要使用线程池的技术了。 目录 1 线程池的优势 2 线程池的使用 3 线程池的工作原理 4 线程池的参数 4.1 任务队列(workQueue) 4.2 线程工厂(threadFactory) 4.3 拒绝策略 ...
分类:
编程语言 时间:
2020-02-25 16:13:44
阅读次数:
84
1. 多进程与多线程 多进程 : 每个独立执行的任务就是一个进程 操作系统将时间划分为多个时间片,在每个时间片内将CPU分配给某一个任务,时间片结束,CPU将自动回收,再分配给其他任务 多进程的缺点:比较笨重不好切换 多线程 : 一个程序可包多个子任务,可串并行 一个子任务可以称为一个线程 在一个线 ...
分类:
编程语言 时间:
2020-02-25 14:42:52
阅读次数:
85
Java 多线程(1) 廖雪峰 多线程基础 进程和线程的关系就是:一个进程可以包含一个或多个线程,但至少会有一个线程。 操作系统调度的最小任务单位其实不是进程,而是线程 。常用的Windows、Linux等操作系统都采用抢占式多任务,如何调度线程完全由操作系统决定,程序自己不能决定什么时候执行,以及 ...
分类:
编程语言 时间:
2020-02-25 14:42:04
阅读次数:
85
Java 多线程(2) 廖雪峰 使用wait和notify 在Java程序中, 解决了多线程竞争的问题。例如,对于一个任务管理器,多个线程同时往队列中添加任务,可以用 加锁: 但是 并没有解决多线程协调的问题。 仍然以上面的 为例,我们再编写一个 方法取出队列的第一个任务: 上述代码看上去没有问题: ...
分类:
编程语言 时间:
2020-02-25 14:31:58
阅读次数:
71
Java多线程编程 Java给多线程编程提供了内置的支持。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程是多任务的一种特别的形式,但多线程使用了更小的资源消耗。这里定义和线程相关的另一个术语—进程:一个进程包括由操作系统分配的内存空间,包含一 ...
分类:
编程语言 时间:
2020-02-25 00:06:35
阅读次数:
86
Java多线程的三大特性,线程池,JMM(Java内存模型)
分类:
编程语言 时间:
2020-02-24 22:20:21
阅读次数:
123
1 前言 在学习 JUC 的过程中我发现,JUC 这个包下面的文档写的十分的好,清楚又易于理解,这篇博客便是参考 JUC 中和 Executor 框架相关的一些类文档汇总出来的。 当然了,Executor 框架涉及到的类还是不少的,全部汇总的话时间成本太高,有点亏,所以这里主要就集中在了 Execu ...
分类:
编程语言 时间:
2020-02-23 18:18:12
阅读次数:
87
https://www.cnblogs.com/xiaoxi/p/8303574.html 一、Callable 与 Runnable 先说一下java.lang.Runnable吧,它是一个接口,在它里面只声明了一个run()方法: public interface Runnable { publ ...
分类:
编程语言 时间:
2020-02-22 14:00:07
阅读次数:
73
``` //python设计哲学 In [5]: import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is bette... ...
分类:
编程语言 时间:
2020-02-22 11:59:58
阅读次数:
75
本博客系列是学习并发编程过程中的记录总结。由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅。 "并发编程系列博客传送门" 本文参考了 "[Java多线程进阶(六)—— J.U.C之locks框架:AQS综述(1)" ]和 "Java技术之AQS详解" 两篇文章。 AQS 简 ...
分类:
其他好文 时间:
2020-02-21 18:06:09
阅读次数:
83