暂无介绍
01-多线程的引入 如果程序只有一条执行路径,那么该程序就是单线程程序 如果程序有多条执行程序,那么该程序就是多线程程序 02-进程概述及多进程的意义 要想了解多线程,必须先了解线...
多线程 原子访问 步骤 1 : 原子性操作概念 所谓的原子性操作即不可中断的操作,比如赋值操作 int i = 5; 原子性操作本身是线程安全的 但是 i++ 这个行为,事实上是有3个原子性操作组成的。...
多线程 Lock对象 与synchronized类似的,lock也能够达到同步的效果 步骤 1 : 回忆 synchronized 同步的方式 首先回忆一下 synchronized 同步对象的方式 当一个线程占用 synchronized 同步对...
本文源码:GitHub·点这里 || GitEE·点这里 一、并发编程简介 1、基础概念 程序 与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。 进程 进...
Java 如何开发一个自定义线程池 每一个线程的启动和结束都是比较消耗时间和占用资源的。 如果在系统中用到了很多的线程,大量的启动和结束动作会导致系统的性能变卡,响应变慢。 为了解决这...
本文章将要介绍的内容有以下几点,读者朋友也可先自行思考一下相关问题: 线程中断 interrupt 方法怎么理解,意思就是线程中断了吗?那当前线程还能继续执行吗? 判断线程是否中断的方法...
Java 线程之间的交互 wait和notify 线程之间有交互通知的需求,考虑如下情况: 有两个线程,处理同一个英雄。 一个加血,一个减血。 减血的线程,发现血量=1,就停止减血,直到加血的线程为英...
BIO BIO 是一种同步阻塞模式, 只要有一个客户端接入, 服务器就会有一条线程与之对应, 进行通信. 以前的一种常用做法是, 服务器端起一条线程, 进行监听, 当监听到客户端接入后, 新起一条线程,...
BIO的时候, 一个客户端对应服务器的一条线程, 比较耗线程资源. 在此基础上, 对起线程进行优化, 创建一个线程池, 对线程进行管理, 可以设置一个最大线程数 maxThreadCount. 这样, 达到线程可控...
随着访问量越来越多, BIO 和 伪异步IO 已经不能满足需求了. 所以后面又出了个 NIO. 1. NIO 使用了一个 通道Channel 的概念, 他是一个双向通道, 可以读取和写入数据. 程序中使用的 S...
AIO是异步非阻塞io, 也叫 nio2.0. 直接上代码, server: public class Server implements Runnable { public AsynchronousServerSocketChannel assc; private CountDownLatch la...
disruptor 可以理解为一个生产消费的框架. 具体翻译教程: http://ifeve.com/disruptor-getting-started/ 这个框架从数据上看, 是很强大的. 号称1s处理600万数据(不是消费掉600万). 这里学...
Java常见的线程安全相关的面试题 步骤 1 : HashMap和Hashtable的区别 HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式 区别1: HashMap可以存放 null Hashtable不能存放null 区...
Java 多线程同步 synchronized 多线程的同步问题指的是多个线程同时修改一个数据的时候,可能导致的问题 多线程的问题,又叫Concurrency 问题 步骤 1 : 演示同步问题 假设盖伦有10000滴血,...
通过多线程实现一个简单的生产者-消费者案例(笔记). 首先定义一个要生产消费的数据类 : public class Data { private String id; private String name; public Data(...