Linux2.6版本之前还存在对于socket的accept的惊群现象。之后的版本已经解决掉了这个问题。 惊群是指多个进程/线程在等待同一资源时,每当资源可用,所有的进程/线程都来竞争资源的现象。 Nginx采用的是多进程的模式。假设Linux系统是2.6版本以前,当有一个客户端要连到Nginx服务 ...
分类:
系统相关 时间:
2019-10-29 19:31:29
阅读次数:
92
[TOC] 1. 端口号 在同一台主机或设备上,可能有多个进程同时在使用TCP或UDP协议,端口号的作用就是区分这些不同的进程,即每个进程使用各自不同的端口号。 对于TCP协议和UDP协议,端口号都是用unsigned short类型表示,即端口号的范围为0 65535,这65536个端口号被分为3 ...
分类:
其他好文 时间:
2019-10-27 11:04:52
阅读次数:
69
在linux下的多个进程间的通信机制叫做IPC(Inter-Process Communication),它是多个进程之间相互沟通的一种方法。在linux下有多种进程间通信的方法:半双工管道、命名管道、消息队列、信号、信号量、共享内存、内存映射文件,套接字等等。使用这些机制可以为linux下的网络服 ...
分类:
系统相关 时间:
2019-10-26 21:19:11
阅读次数:
109
一、程序与进程的关系1、程序:静态保存的代码保存在硬盘、光盘等介质中的可执行的代码和数据2、进程:在CPU及内存中运行的程序代码动态执行的代码父子进程每个进程可以创建一个或多个进程3、线程:一个进程包含多个线程进程是线程的集合二、查看进程信息1、ps命令(1)psaux静态查看%MEM:内存所在百分比VSZ:占用的虚拟内存大小RSS:占用的常驻内存大小TTY终端STAT进程状态S:可中断休眠进程D
分类:
系统相关 时间:
2019-10-22 23:40:57
阅读次数:
449
动态链接库与共享内存: 我们知道,动态链接库(在windows上表现为.dll,在linux下表现为.so)采用的是延迟加载机制,即程序在运行的过程中在被调用的时候才会被加载。一个动态库在内存中只存在一份,可以被多个进程共享。这样做很明显可以节省内存空间。 那么问题来了:共享内存在内存中也是只存在一 ...
分类:
其他好文 时间:
2019-10-22 20:38:05
阅读次数:
89
[toc] 进程 1.进程互斥锁 异步可以让多个任务在几个进程中并发处理,他们之间没有运行顺序,一旦开启也不受我们的控制,尽管并发编程让我们更加充分的利用IO资源,但是当多个进程使用同一份资源的时候,就会引发数据安全或顺序混乱的问题 2.队列 1.队列的概念 创建一个共享的进程队列,可以使用Queu ...
分类:
编程语言 时间:
2019-10-22 20:22:43
阅读次数:
117
通过前面几节的内容,我们已经可以实现基本的C/S结构的程序了,但是当多个客户端同时向服务器端请求服务时,服务器端只能按顺序一个一个的服务,这种情况下,客户端的用户是无法忍受的。所以虚实现并发的服务器端。 并发服务器端的实现方法: 1:多进程服务器端:通过创建多个进程提供服务。 2:多路复用服务器:用 ...
分类:
编程语言 时间:
2019-10-22 00:47:23
阅读次数:
141
通过前面几节的内容,我们已经可以实现基本的C/S结构的程序了,但是当多个客户端同时向服务器端请求服务时,服务器端只能按顺序一个一个的服务,这种情况下,客户端的用户是无法忍受的。所以虚实现并发的服务器端。 并发服务器端的实现方法: 1:多进程服务器端:通过创建多个进程提供服务。 2:多路复用服务器:用 ...
分类:
编程语言 时间:
2019-10-22 00:44:20
阅读次数:
99
Binder框架概述 Binder,英文的意思是别针、回形针。我们经常用别针把两张纸"别"在一起,而在Android中,Binder用于完成进程间通信(IPC),即把多个进程"别"在一起。比如,普通应用程序可以调用音乐播放服务提供的播放、暂停、停止等功能。 Binder工作在Linux层面,属于一个 ...
分类:
其他好文 时间:
2019-10-19 19:08:38
阅读次数:
120
Linux系统进程的知识总结,进程与线程之间的纠葛... 当一个程序开始执行后,在开始执行到执行完毕退出这段时间内,它在内存中的部分就叫称作一个进程。 Linux 是一个多任务的操作系统,也就是说,在同一时间内,可以有多个进程同时执行。我们大家常用的单CPU计算机实际上在一个时间片段内只能执行一条指 ...
分类:
编程语言 时间:
2019-10-19 09:28:59
阅读次数:
77