感性认识: 传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操作时就不能阻塞,如果阻塞的话,有些连接就得不到处理,NIO提供了这种非阻塞的能力。 小...
分类:
其他好文 时间:
2014-05-10 08:50:29
阅读次数:
365
本文的主要目的是阐述如何进行高并发、高性能通信系统的设计,以及这样的系统需要用到的常用技术。本篇只起抛砖引玉的之效,如有更好的设计方案和思路,望你不舍赐教!...
分类:
其他好文 时间:
2014-05-10 08:39:49
阅读次数:
326
转一篇站长大人的文章适用的IIS版本:IIS 7.0, IIS 7.5, IIS
8.0适用的Windows版本:Windows Server 2008, Windows Server 2008 R2, Windows Server
20121、应用程序池(Application Pool)的设置:...
分类:
Web程序 时间:
2014-05-09 18:31:05
阅读次数:
421
GCD (Grand Central Dispatch)
是Apple公司开发的一种技术,它旨在优化多核环境中的并发操作并取代传统多线程的编程模式。在Mac OS X 10.6和IOS
4.0之后开始支持GCD。使用GCD的一个理由就是方便。回想一下以前的多线程编程,我们会把异步调用的代码放到另外的...
分类:
其他好文 时间:
2014-05-09 11:05:26
阅读次数:
301
进程 OS并发的一个任务CPU分时间片交替执行 宏观并行
微观串行线程:在一个进程中并发的一个顺序执行流程线程的组成:1.数据 堆空间共享 栈空间独立 2.CPU3.代码Thread 线程对象 继承Thread类型
覆盖run方法 直接创建Thread对象实现Runnable接口...
分类:
编程语言 时间:
2014-05-08 22:10:57
阅读次数:
357
今天正好有80Gbps的万兆网络环境,写了一个压力测试工具,对比了一下各种流媒体服务器,在超级并发下的性能如何,原来听说intel的万兆网卡有问题,只能跑到不到的理论带宽,这点我测试过了,用intel最新的驱动,centos6,最次能跑到80%的理论带宽,最高能跑到95%以上,完全没有问题,需要.....
分类:
其他好文 时间:
2014-05-08 20:06:29
阅读次数:
560
一概念 二创建多线程方法 三线程常用方法不完整可以自己查阅JDK文档 四线程的生命周期与转换
五同步 六竞争者消费者 七线程池 八JDK 线程工具 线程基础: 1. 创建 2. 状态切换 3. sleep与wait的区别
前者使线程阻塞固定时间后进入Runnable状态,后者使用notify后可以处...
分类:
编程语言 时间:
2014-05-07 20:08:57
阅读次数:
495
今天下午神奇的“黑色30秒”再次降临,而这次“黑色30秒”期间没有出现Requests
Queued。现在我们猜测“黑色30秒”的触发条件是在高并发下线程突然卡住了。为什么线程会卡住?为什么会是30秒?应用程序的原因,Windows的原因,还是阿里云的原因?大家可以投投票。
分类:
其他好文 时间:
2014-05-07 18:28:46
阅读次数:
425
使用.net dataexcel通信搭建一个简单的文件服务器。
通信简单介绍
1,通信使用TCP协议。
2,采用session机制,控制简单通信安全与连接限制防攻击。
3,采用开放协议包格。(32字节数据包)
4,采用网络断开,自动连接机制保证连接。
5,采用压缩机械压缩大数据(比如.net 里面datatable,dataset的传输)。
6,采用事件机制,更容易,更符合.net开发习惯。
7,采用异步传输,较大的连接与并发。
8,采用数据包头,解决粘包。
9,采用命令方式,更容易扩展。
10,采用允许...
分类:
Web程序 时间:
2014-05-07 08:11:20
阅读次数:
494
能够发现的C/C++缺陷(部分)C/C++安全性问题(部分)并发死锁错误使用的阻塞调用性能下降内存泄漏文件句柄泄漏定制的内存和网络资源泄漏数据库连接泄漏导致崩溃的缺陷空指针引用释放后引用多次释放不正确的内存分配不匹配的数组新建/删除不正确的程序行为逻辑错误导致的死代码未初始化变量负数的无效引用不正确...
分类:
其他好文 时间:
2014-05-06 11:09:21
阅读次数:
546