上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页
摘要: /*阻塞 和 非阻塞 是对于 网络通信而言的*/ /*原先IO通信在进行一些读写操作 或者 等待 客户机连接 这种,是阻塞的,必须要等到有数据被处理,当前线程才被释放*/ /*NIO 通信 是将这个阻塞的过程 丢给了选择器,客户端和 服务器端 之间建立的通道,都会注册到 选择器上,然后用选择器 实时 阅读全文
posted @ 2017-08-26 16:34 白日梦想家12138 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 一、通道(Channel):由java.nio.channels包定义的 。Channel 表示 IO 源与目标打开的连接。 Channel 类似于传统的 ‘流’。只不过 Channel 本身不能直接访问数据,Channel只能与Buffer进行交互 二、 /*通道的主要实现类*/ Java 为 C 阅读全文
posted @ 2017-08-26 15:46 白日梦想家12138 阅读(1695) 评论(0) 推荐(0) 编辑
摘要: /*缓冲区(Buffer)*/ Buffer 就像一个数组,可以保存多个相同类型的数据。根据数据类型不同(boolean 除外),有以下Buffer常用子类: /*ByteBuffer*/(常用) 、CharBuffer 、ShortBuffer、IntBuffer、LongBuffer、Float 阅读全文
posted @ 2017-08-26 12:35 白日梦想家12138 阅读(470) 评论(0) 推荐(0) 编辑
摘要: /*Java NIO 简介*/ java NIO (New IO)是从 java1.4版本开始引入的一个新的IO API,可以替代标准的 java IO API (jdk1.7又对其进行了改进, 称为NIO2) NIO 与 原来的 IO 有相同的作用和目的,但是使用的方式完全不同,NIO支持面向 / 阅读全文
posted @ 2017-08-26 11:49 白日梦想家12138 阅读(154) 评论(0) 推荐(0) 编辑
摘要: /*ForkJoinPool 分支/合并框架 (工作窃取)*/ Fork/Join 框架:就是在必要的情况下,将一个大任务,进行拆分(fork) 成若干个小任务(拆到给出的临界值为止),再将一个个的小任务运算的结果 进行join汇总 Fork/Join 框架 与 线程池的区别 1.采用 “工作窃取” 阅读全文
posted @ 2017-08-26 10:54 白日梦想家12138 阅读(1331) 评论(0) 推荐(0) 编辑
摘要: /*线程池*/ /*第四种 获取线程的方法:线程池*/ 一个ExecutorService,它使用线程池的可能的某个线程之一执行每个提交的任务,通常使用 Executors 工厂方法配置(ExecutorService service = Executors.newFixedThreadPool(5 阅读全文
posted @ 2017-08-26 10:31 白日梦想家12138 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 线程八锁 1、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 2、当一个线程访问一个实例对象的一个synchronized(this)同步代码块时,另 阅读全文
posted @ 2017-08-25 18:10 白日梦想家12138 阅读(227) 评论(0) 推荐(0) 编辑
摘要: /*ReadWriteLock 读写锁*/ private ReadWriteLock lock = new ReentrantReadWriteLock(); lock.readLock().lock(); lock.writeLock().lock(); ReadWriteLock 维护了 /* 阅读全文
posted @ 2017-08-25 17:52 白日梦想家12138 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 * 生产者消费者 案例 (使用Lock 同步锁 方式,使用Condition完成线程之间的通信) 3 * */ 4 public class TestProductorAndConsumerForLock { 5 public static void main(String[] args) { 6 WareHouse wareHo... 阅读全文
posted @ 2017-08-25 17:43 白日梦想家12138 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 显示锁 Lock 一、用于解决多线程 安全问题的方式: synchronized: 1.同步代码块 2.同步方法 jdk1.5 后:第三种:同步锁Lock (注意:同步(synchronized)是隐式的锁操作,而Lock对象是一个显示锁,需要通过lock() 方法上锁,必须通过unlock()方法 阅读全文
posted @ 2017-08-25 17:34 白日梦想家12138 阅读(224) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页