进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。 多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。 一个线程的生命周期 线程是一个动态执行的过程,它也有一个从产 ...
分类:
编程语言 时间:
2019-10-13 23:35:50
阅读次数:
120
public class ServerSocketTest { public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(9999); ExecutorService exe... ...
分类:
编程语言 时间:
2019-10-12 15:53:44
阅读次数:
84
Executor 是一个接口,只定义了一个方法, 可以接收Runnable实例,用来执行一个实现Runnable接口的任务。 void execute(Runnable command); ExecutorService 也是一个接口,继承自Executor,并增加了一些方法,用的比较广泛,提供了一 ...
分类:
编程语言 时间:
2019-10-12 01:51:22
阅读次数:
135
一 、线程和进程 1. 什么是线程和进程的区别: 线程是指程序在执行过程中,能够执行程序代码的一个执行单元。在java语言中,线程有四种状态:运行 、就绪、挂起和结束。 进程是指一段正在执行的程序。而线程有事也被成为轻量级的进程,他得程序执行的最小单元,一个进程可以拥有多个线程,各个线程之间共享程序 ...
分类:
编程语言 时间:
2019-10-11 20:42:16
阅读次数:
97
public static void main(String[] args) throws InterruptedException { // Runtime.getRuntime().availableProcessors() 获取可用的cpu数量 int count = Runtime.getR... ...
分类:
编程语言 时间:
2019-10-08 12:35:00
阅读次数:
162
详解Java多线程锁之synchronized synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。 synchronized的四种使用方式 修饰代码块:被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用于调用对象 修饰方法:被修饰的方法称 ...
分类:
编程语言 时间:
2019-10-08 09:36:17
阅读次数:
120
什么是线程 线程是操作系统调度的最小单位,在一个进程中,一般至少有一个线程在运行。一个进程中包含的多个线程,在多核处理器中,操作系统可以将多个线程调度到不同的CPU核心上运行,多个线程可以并行运行。 在同一个进程中的多个线程,共享同一个进程空间,这意味着,线程间通信的成本相对进程间会低很多,但是由于 ...
分类:
编程语言 时间:
2019-10-07 00:52:19
阅读次数:
88
Java中多线程实现方式主要有四种:1<继承Thread类、2<实现Runnable接口、3<实现Callable接口通过FutureTask包装器来创建Thread线程、4<使用ExecutorService、Callable、Future实现有返回结果的多线程。 其中前两种方式线程执行完后都没有 ...
分类:
编程语言 时间:
2019-10-07 00:30:43
阅读次数:
106
线程内存模型 参考: [多线程 内存模型]( https://www.cnblogs.com/qishuai/p/8724202.html) [java线程详解]( https://blog.csdn.net/tiansheng1225/article/details/78007358) 概述:每个 ...
分类:
编程语言 时间:
2019-10-06 18:33:29
阅读次数:
91
虽然有6中线程池,但除了ForkJoinPool是实现了ExecutorService 其它的都是对ThreadPoolExecutor的调用。 1.FixedThreadPool 最普通的线程池,可以指定线程数大小。创建是线程是普通线程 2. SingleThreadPool 线程数为1的线程池, ...
分类:
编程语言 时间:
2019-10-04 13:04:50
阅读次数:
84