一、简要分析 一个socket对应一个数据流,通过I/O操作中的read从流中读入数据,write向流中写入数据。当read时,socket流中没有数据的话,read阻塞,线程睡眠,CPU开始做其他的任务,流中有数据可读时,read返回。 在阻塞IO模式下,一个线程只能处理一个IO事件。如果处理多个 ...
分类:
其他好文 时间:
2017-10-29 17:33:50
阅读次数:
239
【转】人云思云 2015年08月07日发布 【转】人云思云 2015年08月07日发布 【转】人云思云 2015年08月07日发布 【转】人云思云 2015年08月07日发布 【转】人云思云 2015年08月07日发布 【转】人云思云 2015年08月07日发布 【转】人云思云 2015年08月07 ...
分类:
系统相关 时间:
2017-10-20 18:30:43
阅读次数:
274
讲到高性能IO绕不开Reactor模式,它是大多数IO相关组件如Netty、Redis在使用的IO模式,为什么需要这种模式,它是如何设计来解决高性能并发的呢? 最最原始的网络编程思路就是服务器用一个while循环,不断监听端口是否有新的套接字连接,如果有,那么就调用一个处理函数处理,类似:while ...
分类:
其他好文 时间:
2017-09-01 09:48:38
阅读次数:
222
stm32的每个IO口都有8种可配置模式,整理如下,便于日后查阅: 模拟输入(0x0),用于ADC。 浮空输入(0x4)。 下拉输入(0x8),用作输入口,额外设置ODR=0(默认)。 上拉输入(0x8),用作输入口,额外设置ODR=1。 推挽输出(0x3),用作输出口。 开漏输出(0x7)。 推挽... ...
分类:
其他好文 时间:
2017-08-21 21:33:53
阅读次数:
238
原文地址:https://segmentfault.com/a/1190000003063859 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。 本文讨论的背景是Linux环境下的network IO。 一 ...
分类:
系统相关 时间:
2017-08-07 00:19:44
阅读次数:
297
uboot中实现irq中断(uboot version2015.04)1.实验目的:实现GPIO_2的外部中断 2.实验步骤:a.GPIO_2(GPIO1_IO02)为中断源, 首先需要设置这个pad为GPIO模式, 即把该pad复用为GPIO, 所以只需在board/freescale/mx6sa ...
分类:
其他好文 时间:
2017-07-30 15:47:00
阅读次数:
257
同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。本文讨论的背景是Linux环境下的networkIO。一概念说明在进行解释之前,首先要说明几个概念:-用户空间和内核空间-进程切换-进程的阻塞..
分类:
系统相关 时间:
2017-07-19 12:02:14
阅读次数:
184
一、非阻塞IO模式原理 与阻塞模式对应的另一种模式叫非阻塞IO模式,在整个通信过程中读和写操作不会阻塞,当前处理线程不存在阻塞情况。从A机器到B机器它的通信过程是:A机器一条线程将通道设置为写事件后往下执行,而另外一条线程遍历到此通道有字节要写并往socket写数据,B机器一条线程遍历到此通道有字节 ...
分类:
Web程序 时间:
2017-07-11 23:27:21
阅读次数:
357
Linux IO模式及 select、poll、epoll详解 <!-- end .post-topheader --> 注:本文是对众多博客的学习和总结,可能存在理解错误。请带着怀疑的眼光,同时如果有错误希望能指出。 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不 ...
分类:
系统相关 时间:
2017-06-27 14:53:39
阅读次数:
247
为什么IO模式非常重要?由于现代的计算机和操作系统的架构决定了CPU是稀缺资源,大家都要来一起竞争。而IO(特别是网络相关的IO)的速度往往较慢。所以怎样进行IO就有了多种模式,包含同步、异步、堵塞、非堵塞等等。 不少人把这几个概念放到一起讨论,非常多时候也难以区分。 这里从根上剖析下该怎么看待这几 ...
分类:
其他好文 时间:
2017-04-30 12:39:35
阅读次数:
161