一、Lock接口: 在Java SE 5之后,并发包中新增了Lock接口及相关实现类来实现锁功能。 Lock接口和synchronized关键字实现锁的区别: (1)Lock接口需要显示的获取和释放锁,sychronized是隐式的获取和释放锁。也正因为如此,使得Lock接口拥有了锁获取与释放的可操 ...
分类:
其他好文 时间:
2020-01-11 13:21:17
阅读次数:
76
1、详细介绍 为了更好地了解IO模型,我们需要事先回顾下:同步、异步、阻塞、非阻塞同步(synchronous):就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列。要么成功都成功,失败都失败,两个任务的状态可以保持一致。异步(asyn ...
分类:
编程语言 时间:
2020-01-11 09:43:15
阅读次数:
77
1. 并发(concurrency):在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。其中两种并发关系分别是同步和互斥 互斥:进程间相互排斥的使用临界资源的现象,就叫互斥。 同步(synchronous):进程之间的关系不是相互排斥临界资 ...
分类:
编程语言 时间:
2020-01-10 20:04:24
阅读次数:
103
NIO的全称是non-blocking IO,也就是非阻塞IO,也有的人叫他New IO。他的核心内容主要有三部分,Channel(通道),Buffer(缓冲区), Selecto(选择器)。下面我们针对这三部分详细了解一下NIO。 Buffer(缓冲区) Buffer缓冲是一个指定固定数据量的容器 ...
分类:
编程语言 时间:
2020-01-10 12:15:31
阅读次数:
98
Java中IO的模型分为三种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 BIO【同步阻塞】 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建 ...
分类:
编程语言 时间:
2020-01-09 22:32:45
阅读次数:
76
nginx 模型 一个master进程 + 一个work进程工作模式 一个异步非阻塞的模型 编译安装步骤 配置文件 包含关系 状态页 json 日志 Nginx 压缩功能 https 隐藏web服务器版本 写到这里手已经不行了每天下后半段~ ...
分类:
其他好文 时间:
2020-01-09 19:04:58
阅读次数:
106
1 void delay(int mSec)//ms 2 { 3 QEventLoop loop; 4 QTimer::singleShot(mSec, &loop, SLOT(quit())); 5 loop.exec(); 6 } ...
分类:
其他好文 时间:
2020-01-09 10:41:35
阅读次数:
87
前言 Thrift提供的网络服务模型:单线程、多线程、事件驱动,从另一个角度划分为:阻塞服务模型、非阻塞服务模型。 阻塞服务模型:TSimpleServer、TThreadPoolServer。 非阻塞服务模型:TNonblockingServer、THsHaServer和TThreadedSele ...
分类:
Web程序 时间:
2020-01-08 12:53:39
阅读次数:
107
前言Thrift是一个轻量级、跨语言的远程服务调用框架,最初由Facebook开发,后面进入Apache开源项目。它通过自身的IDL中间语言, 并借助代码生成引擎生成各种主流语言的RPC服务端/客户端模板代码。 Thrift支持多种不同的编程语言,包括C++、Java、Python、PHP、Ruby ...
分类:
Web程序 时间:
2020-01-08 12:18:14
阅读次数:
78
两种赋值语句: 阻塞 赋值 “ = ” 非阻塞赋值 “〈= ” 阻塞 赋值语句必须等到当前的赋值语句执行完毕才能执行,非阻塞赋值当前的赋值语句不会阻断其后的语句,非阻塞赋值操作只能用于对寄存器类型变量进行赋值, 因此只能用在"initial"块和"always"块等过程块中。非阻塞赋值不允许用于连续 ...
分类:
其他好文 时间:
2020-01-07 20:08:05
阅读次数:
96