ETS是Erlang内置的内存数据库,可用于多进程共享数据,具有并发读写的性能,文章就这点展开探讨,重点说说ets并发读写两个参数的优缺点及适用场合。...
分类:
其他好文 时间:
2014-07-27 11:27:12
阅读次数:
253
进程模型
Nginx分为Single和Master两种进程模型,Single模型即为单进程方式工作,具有较差的容错能力,不适合生产之用。Master模型即为一个master进程+N个worker进程的工作方式。生产环境都是用master-worker模型来工作。
master进程
我们知道在main函数中完成了Nginx启动初始化过程,启动初始...
分类:
其他好文 时间:
2014-07-27 11:15:32
阅读次数:
378
进程模型
worker进程
master进程模型核心函数ngx_master_process_cycle()中调用了创建子进程函数ngx_start_worker_processes(),该函数源码如下
static void
ngx_start_worker_processes(ngx_cycle_t *cycle, ngx_int_t n, ngx_int_t type)...
分类:
其他好文 时间:
2014-07-27 11:10:42
阅读次数:
252
慢系统调用(slow system call):此术语适用于那些可能永远阻塞的系统调用。永远阻塞的系统调用是指调用有可能永远无法返回,多数网络支持函数都属于这一类。如:若没有客户连接到服务器上,那么服务器的accept调用就没有返回的保证。EINTR错误的产生:当阻塞于某个慢系统调用的一个进程捕获某...
分类:
其他好文 时间:
2014-07-27 10:24:02
阅读次数:
190
前言 在淘宝开源自己基于nginx打造的tegine服务器的时候,有这么一项特性引起了笔者的兴趣。“自动根据CPU数目设置进程个数和绑定CPU亲缘性”。当时笔者对CPU亲缘性没有任何概念,当时作者只是下意识的打开了google并输入CPU亲缘性(CPU Affinity)简单了做了个了解。 ...
分类:
系统相关 时间:
2014-07-27 10:16:42
阅读次数:
1575
调试时弹出:无法在web服务器上启动调试。打开的URL的IIS辅助进程当前没有运行。解决方法:1.可能是计算机本身的身份验证没开启,:控制面板- >程序- >把Windows功能或关闭- >Internet信息服务——>万维网服务- >安全性- > 选中Windows身份验证;2.可能是IIS上的身...
分类:
Web程序 时间:
2014-07-27 09:59:02
阅读次数:
311
上一篇《秒杀多线程第三篇原子操作 Interlocked系列函数》中介绍了原子操作在多进程中的作用,如今来个复杂点的。这个问题涉及到线程的同步和相互排斥,是一道很有代表性的多线程同步问题,假设能将这个问题搞清楚,那么对多线程同步也就打下了良好的基础。程序描写叙述:主线程启动10个子线程并将表示子线程...
分类:
编程语言 时间:
2014-07-27 09:50:32
阅读次数:
405
上一节简单如何通过Socket创建一个连接,然后进行通信。只是每个人只能说一句话。而且还是必须说完才会接收到信息,总之是很不方便的事情。所以这一小节我们将对上一次的程序进行修改,修改成每个人可以多说话,主要是通过Linux下多进程fork实现的。 一对一,server和client是每个人都可...
分类:
其他好文 时间:
2014-07-27 09:39:42
阅读次数:
340
Java线程:概念与原理一、操作系统中线程和进程的概念现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。线程是指进程中的一个执行流程...
分类:
编程语言 时间:
2014-07-26 17:09:51
阅读次数:
325
本文主要从nutch的Crawl方法开始,分享了nutch爬取的第一个步骤——注入(Inject)以及具体的流程和处理的方法
分类:
其他好文 时间:
2014-07-26 16:53:51
阅读次数:
328