Nginx特点:1,跨平台:Nginx 可以在大多数 Unix like OS编译运行,而且也有Windows的移植版本。2,配置异常简单:非常容易上手。配置风格跟程序开发一样,神一般的配置。3,非阻塞、高并发连接:数据复制时,磁盘I/O的第一阶段是非阻塞的。官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数.(这得益于Nginx使用了最新的epoll模型)。4,事件驱动:通信机...
分类:
其他好文 时间:
2014-07-29 15:02:58
阅读次数:
218
Nginx特点:1,跨平台:Nginx 可以在大多数 Unix like OS编译运行,而且也有Windows的移植版本。2,配置异常简单:非常容易上手。配置风格跟程序开发一样,神一般的配置。3,非阻塞、高并发连接:数据复制时,磁盘I/O的第一阶段是非阻塞的。官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数.(这得益于Nginx使用了最新的epoll模型)。4,事件驱动:通信机...
分类:
其他好文 时间:
2014-07-29 15:02:10
阅读次数:
173
在JDK1.5版本,新增了并发包,其中包含了显示锁、并发容器。在这些锁和容器里,都有同步器(AQS)的身影。在AQS中,有三个组件:1、原子管理同步状态;2、阻塞线程或恢复线程;3、维护队列,其中包括同步队列及条件队列。为了更好地理解JDK的并发包,我会用三个主题来详细描述AbstractQueuedSynchronizer的实现。...
分类:
其他好文 时间:
2014-07-29 14:34:48
阅读次数:
210
简介:多核多线程已经成为当下一个时髦的话题,而无锁编程更是这个时髦话题中的热点话题。Linux内核可能是当今最大最复杂的并行程序之一,为我们分析多核多线程提供了绝佳的范例。内核设计者已经将最新的无锁编程技术带进了2.6系统内核中,本文以2.6.10版本为基础做相关解释。非阻塞型同步(Non-bloc...
分类:
其他好文 时间:
2014-07-29 14:05:58
阅读次数:
252
阻塞和非阻塞对于软件和硬件概念是一致的:
对于软件:
简单点说:
阻塞就是干不完不准回来,
非阻塞就是你先干,我现看看有其他事没有,完了告诉我一声
我们拿最常用的send和recv两个函数来说吧...
比如你调用send函数发送一定的Byte,在系统内部send做的工作其实只是把数据传输(Copy)到TCP/IP协议栈的输出缓冲区,它执行成功并不代表数据...
分类:
其他好文 时间:
2014-07-28 16:08:03
阅读次数:
262
select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型: int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *time...
分类:
其他好文 时间:
2014-07-28 15:00:53
阅读次数:
241
慢系统调用(slow system call):此术语适用于那些可能永远阻塞的系统调用。永远阻塞的系统调用是指调用有可能永远无法返回,多数网络支持函数都属于这一类。如:若没有客户连接到服务器上,那么服务器的accept调用就没有返回的保证。EINTR错误的产生:当阻塞于某个慢系统调用的一个进程捕获某...
分类:
其他好文 时间:
2014-07-27 10:24:02
阅读次数:
190
Java线程:线程状态的转换一、线程状态线程的状态转换是线程控制的基础。线程状态总的可分为五大状态:分别是生、死、可运行、运行、等待/阻塞。用一个图来描述如下:1、新状态:线程对象已经创建,还没有在其上调用start()方法。2、可运行状态:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程...
分类:
编程语言 时间:
2014-07-26 17:07:22
阅读次数:
309
1.如何停止一个正在运行的线程?使用共享变量,用volatile变量修饰,线程循环去访问该变量。如果线程因为发生某些事件进行阻塞,可以使用Thread的interrupt方法。可以使一个被阻塞的线程抛出一个中断异常,从而使线程提前结束阻塞状态,退出堵塞代码。class MyThread extend...
分类:
编程语言 时间:
2014-07-26 01:39:26
阅读次数:
263
java.util.concurrent包: 1.Excutors类:通过这个类可获得多种线程池的实例Excutors.newSingleThreadExecutor():获得单线程的ExecutorService;Excutors.newFixedThreadPool(int nThreads):...
分类:
其他好文 时间:
2014-07-26 01:34:07
阅读次数:
339