在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是Con...
分类:
编程语言 时间:
2014-09-05 01:06:20
阅读次数:
431
Node.js 最大的特点就是异步式 I/O(或者非阻塞 I/O)与事件紧密结合的编程模式。这种模式与传统的同步式 I/O 线性的编程思路有很大的不同,因为控制流很大程度上要靠事件和回调函数来组织,一个逻辑要拆分为若干个单元。阻塞与线程什么是阻塞(block)呢?线程在执行中如果遇到磁盘读写或网络通...
分类:
Web程序 时间:
2014-09-04 22:10:10
阅读次数:
300
一、同步与异步同步/异步, 它们是消息的通知机制1. 概念解释A. 同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间...
分类:
其他好文 时间:
2014-09-03 23:58:57
阅读次数:
434
Windows套接字在两种模式下执行I/O操作,阻塞模式和非阻塞模式。在阻塞模式下,执行操作的函数会一直等待,不会立即返回,知道发送完数据或者接受完数据为止。这在一定条件下是对性能的浪费,例如recvfrom函数没有收到数据的时候吧就会一直等待下去。
为了提高系统的性能,Winsock提供了基于消息的异步socket。下面介绍主要的Socket异步通信函数。
int ...
分类:
其他好文 时间:
2014-09-03 22:49:37
阅读次数:
307
在以前有关使用 acl 的技术文章(如:使用 acl::master_threads 类编写多进程多线程服务器程序?,用 acl::master_aio 类编写高并发非阻塞服务器程序,使用 acl::master_proc 类编写多进程服务器程序)中...
分类:
其他好文 时间:
2014-09-03 13:22:46
阅读次数:
202
非阻塞模式下,建立连接没有调用send()和recv()进行数据交互的情况怎么判断服务端连接主动断开?
通过recv()函数,没有数据时返回-1,服务端断开返回0,通过返回0判断服务端是否断开
unsigned long u32NonBlock = 1;
if ( ioctlsocket(pDlg->m_s32Socket, FIONBIO, &u32NonBlock) ) ...
分类:
其他好文 时间:
2014-09-02 14:12:54
阅读次数:
171
好文章,转自:http://blog.csdn.net/yankai0219/article/details/80182320.序首先通过阅读参考文章的内容,了解大概,我写出下文。并且我参考上述文章的写作方式,以生活中的事件来理解技术上的问题。 初学同步与异步、阻塞与非阻塞,难免有些理解错误,还希....
分类:
其他好文 时间:
2014-09-02 00:12:33
阅读次数:
239
原文链接:http://blog.csdn.net/colzer/article/details/8169075IO概念Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个f...
分类:
系统相关 时间:
2014-08-29 10:36:17
阅读次数:
346
NIO 设计背后的基石:反应器模式,用于事件多路分离和分派的体系结构模式。 反应器(Reactor):用于事件多路分离和分派的体系结构模式 通常的,对一个文件描述符指定的文件或设备, 有两种工作方式:?阻塞?与非阻...
分类:
编程语言 时间:
2014-08-28 22:50:56
阅读次数:
331
原文链接:http://blog.csdn.net/historyasamirror/article/details/5778378当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。《IO - 同步,异步,阻塞,非阻塞》是我在开始学习epoll和libevent的时候写的...
分类:
其他好文 时间:
2014-08-28 22:27:16
阅读次数:
276