以前我们讲过进程间通信,通过进程间通信可以实现同一台计算机上不同的进程之间通信。通过网络编程可以实现在网络中的各个计算机之间的通信。进程能够使用套接字实现和其他进程或者其他计算机通信。同样的套接字既可以实现进程间通信,也可以实现计算机之间通信。套接字是通信端点的抽象。与文件描述符一样,套接字需要使用...
分类:
其他好文 时间:
2015-05-12 08:08:27
阅读次数:
123
线程共享进程的内存空间,打开的文件描述符,全局变量。当有多个线程同时访问一块内存空间或者一个变量、一个文件描述符,如果不加控制,那么可能会出现意想不到的结果。互斥(mutex)是相互排斥的意思,它是一种锁或者信号灯。互斥用来保护多个线程共享的数据和结构不会被同时修改,一个互斥锁只能有两个状态 –l....
分类:
编程语言 时间:
2015-05-12 01:30:34
阅读次数:
124
1 什么是线程线程,有时被称为轻量级进程,是程序执行的最小单元。一个标准的线程由线程ID、程序计数器(pc)、一组寄存器和堆栈组成。通常,一个进程由多个线程组成,每个线程之间共享进程的内存空间(包括代码段、数据段、堆等)及一些进程级的资源(如打开的文件描述符和信号)。如下图所示:2 线程的访问权限线...
分类:
编程语言 时间:
2015-05-11 21:31:25
阅读次数:
175
1、基本知识 epoll是在2.6内核中提出的(mac没有),是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述...
分类:
其他好文 时间:
2015-05-09 20:40:53
阅读次数:
165
转自:http://blog.csdn.net/shuilan0066/article/details/7683315 线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID....
分类:
编程语言 时间:
2015-05-08 01:33:34
阅读次数:
127
【Network Client】1、socket可以被看成一个标准的文件描述符,程序并不知道它正在把数据与进一个文件、终端或TCP连接。2、通信类型、协议家族。 3、connect 方法。 4、getsockname、getpeername。 5、tcp连接的行为更像是标准的文件,它们保证...
分类:
Web程序 时间:
2015-05-07 13:57:03
阅读次数:
129
1. 概述 在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是一个非负整数(通常是小整数),用于指代被打开的文件,所有执行I/O操作的系统调用都通过文件描述符。....
分类:
其他好文 时间:
2015-05-07 12:05:16
阅读次数:
134
作用:用来限制系统用户对shell 资源的访问,支持一下各种类型的限制:所创建的内核文件的大小, 进程数据块的大小, shell 进程创建文件的大小, 内存锁住的大小, 常驻内存集的大小, 打开文件描述符的数量, 分配堆栈的最大大小, CPU 时间, 单个用户的最大线程数, shell进程所能使用的...
分类:
其他好文 时间:
2015-05-06 16:59:22
阅读次数:
140
UNIX系统中的大多数文件I/O只需要用到5个函数:open,read,write,lseek以及close文件描述符 文件描述符是一个非负整数,所有打开的文件都通过文件描述符引用 文件描述符的变化范围是0-OPEN_MAX,OPEN_MAX是每个进程最多打开的文件1、open函数 #includ....
分类:
系统相关 时间:
2015-05-05 19:23:13
阅读次数:
204
close: int close(int fd) 并非马上关闭fd对应的socket连接,而是对其文件描述符的引用计数减1,只有当fd的引用计数为0时,才关闭连接,对应fork复制的socket描述符,无论时父进程还是子进程都需要调用close才能正确关闭连接。shutdown: int shutd...
分类:
其他好文 时间:
2015-05-05 18:53:15
阅读次数:
104