IO
飞雪擦枪
这个作者很懒,什么都没留下…
展开
-
synchronized与volatile关键字的区别
一、synchronized关键字 1.1 synchronized如何实现内存可见性 线程加锁时,将清空工作内存中共享变量的值,从而使用共享变量时需要从主内存中重新读取最新的值 线程解锁时,必须把共享变量的最新值刷新到主内存中。 1.2 synchronized线程执行互斥代码的六个过程 获得互斥锁 清空工作内存 从主内存中拷贝变量的最新值到工作内存 执行代码 将更改后的共享变量的值刷新到主内存...原创 2020-03-02 17:49:09 · 676 阅读 · 0 评论 -
几个IO复用模型
一、各个IO模型的概述 AIO 是彻底的异步通信。 NIO 是同步非阻塞通信。 有一个经典的举例。烧开水。 假设有这么一个场景,有一排水壶(客户)在烧水。 AIO的做法是,每个水壶上装一个开关,当水开了以后会提醒对应的线程去处理。 NIO的做法是,叫一个线程不停的循环观察每一个水壶,根据每个水壶当前的状态去处理。 BIO的做法是,叫一个线程停留在一个水壶那,直到这个水壶烧开,才去处理下一个水壶。 ...原创 2019-11-23 11:43:21 · 230 阅读 · 0 评论