读常规文件是不会阻塞的,不管读多少字节,read一定会在有限的时间内返回。从终端设备或网络读则不一定,如果从终端输入的数据没有换行符, 调用read读终端设备就会阻塞,如果网络上没有接收到数据包,调用read从网络读就会阻塞,至于会阻塞多长时间也是不确定的, 如果一直没有数据到达就一直阻塞在那里。同 ...
分类:
其他好文 时间:
2019-02-24 13:49:32
阅读次数:
208
io模型 同步、异步、阻塞、非阻塞概念 同步:发出一个功能调用时,在没有得到结果之前,该调用就不会返回,原地等待 异步:相反,不需要等待 阻塞:调用结果返回之前,当前线程会被挂起,如io操作,只有在得到返回结果之后,才会将阻塞的线程激活和同步不一样,不要混淆,同步虽然也在原地等待,但是它的线程还是激 ...
分类:
其他好文 时间:
2019-02-17 22:16:56
阅读次数:
178
现在几乎所有的系统都是分布式的—— 已经没有那种集中式(webapp,数据库等等都在同一台服务器上。。) 那么带来的问题: ———— I/O模型 同步/异步 + 阻塞/非阻塞 ———— 数据一致性 数据同步 ———— 分布式事务 解决方案: 两阶段提交(2PC); 三阶段提交(3PC) 一些常用指标 ...
分类:
其他好文 时间:
2019-02-17 11:15:16
阅读次数:
222
1 并发、并行、同步、异步、阻塞、非阻塞 并发、并行 并发是报一个时间段内有几个程序在同一个cpu上运行,但是任意时刻只有一个程序在cpu上运行。在一个时间段内某一个请求很快,能够响应的用户就越多,高并发。 并行是指任意时刻点上,有多个程序同时运行在多个cpu上,并行数量跟CPU数一致的,因此没有高 ...
分类:
其他好文 时间:
2019-02-16 00:06:45
阅读次数:
227
阻塞:同步: 这两者存在本质的区别,它们的修饰对象是不同的(数据为准备就绪,数据的获得)。阻塞和非阻塞是指进程访问的数据如果尚未就绪,进程是否需要等待,简单说这相当于函数内部的实现区别,也就是未就绪时是直接返回还是等待就绪。 而同步和异步是指获取数据的机制,同步一般指主动请求并等待I/O操作完毕的方 ...
分类:
其他好文 时间:
2019-01-31 18:23:14
阅读次数:
155
目录 4.2.1 相关概念 4.2.1.1 进程 4.2.1.2 同步/异步 4.2.1.3 阻塞/非阻塞 4.2.1.4 并发/并行 4.2.1.5 进程状态与调度 4.2.2 多进程 4.2.1.1 创建进程 4.2.1.2 相关属性 4.2.1.1 相关方法 4.2.3 进程互斥锁 4.2.4 ...
分类:
系统相关 时间:
2019-01-31 01:35:31
阅读次数:
188
一 理解篇 前言 本文仅仅用作借鉴使用,作者刚入行不久,所以请不小心看到这篇文章的朋友,手下留情。 本文以小故事的形式进行叙述,逻辑不通之处。请理解。 如有错误 ,欢迎指出。 谢谢。 最后修改时间:2019-01-25 1.0.0 进程 老刘是一个软件公司的老板,公司下有两个部门,产品设计部门(产品 ...
分类:
编程语言 时间:
2019-01-25 16:06:10
阅读次数:
296
关于进程必备的理论基础: 1.操作系统的作用: 隐藏丑陋复杂的硬件接口,提供良好的抽象接口 管理、调度进程,并且将多个进程对硬件的竞争变得有序 2.多道技术: 产生背景: 针对单核,实现并发 现在的主机一般是多核,那么每个核都会利用多道技术 有4个cpu,运行于cpu1的某个程序遇到i... ...
分类:
系统相关 时间:
2019-01-24 21:50:42
阅读次数:
216
聊聊同步、异步、阻塞与非阻塞聊聊Linux 五种IO模型聊聊IO多路复用之select、poll、epoll详解 ? 聊聊同步、异步、阻塞与非阻塞聊聊Linux 五种IO模型聊聊IO多路复用之select、poll、epoll详解 ? ...
分类:
系统相关 时间:
2019-01-24 13:10:15
阅读次数:
184
为什么要理解这几个名词? 想要真正理解网络编程的原理,下面几个名词的理解是不可避免的,如果对下面几个名词不清晰,去学习网络编程中的BIO、NIO、AIO框架,会越陷越深,无法自拔。 同步、异步、阻塞、非阻塞 同步与异步:同步和异步是客户端与服务端通信的一种机制。 同步通信:就是客户端发送请求后,必须 ...
分类:
其他好文 时间:
2019-01-15 14:16:35
阅读次数:
259