网络编程知识点

这里写图片描述

f o r ( ) t h r e a d ( ) 的区别, f o r k ( ) 函数 即分叉函数, 用于创建子进程,同时将父进程所占用的内存中的数据进行拷贝。子进程的执行起始点于 f o r k ( ) 函数后,内存占用加倍,通过 f o r k ( ) 返回值来判定当前进程是父进程(返回值为子进程号pid)还是子进程(返回值为0),类似细胞分裂; t h r e a d ( ) 用于创建线程,内存与主线程共享,当访问数据时,会出现同步问题,join()用于阻塞当前主线程,等待子线程执行完成
通过对上述线程与进程的特点,可以得出:进程的典型应用,服务器处理接收客户端连接请求,每到达一个新的客户请求,fork()一个新的进程来处理该客户的请求
线程的典型应用在于批量数据处理(多核CPU),类似于将一个大的任务划分成多个小的任务,每个小任务占用一个CPU来并行处理

c l o s e ( i n t   s o c k e t _ i d ) 只是将该文件描述符所对应的套接字引用计数减1,只有引用计数为0的时候才真正断开连接,而 s h u t d o w n ( i n t s o c k e t _ i d , i n t   h o w ) 将根据How参数直接断开连接

猜你喜欢

转载自blog.csdn.net/qq_27576655/article/details/81774611