您的位置:首页 > 数据 >
全球微头条丨为什么用fork提高处理速度?详情解释
来源:CSDN 2023-02-22 13:29:38


(资料图)

这里先说一下为什么用fork:

例如:Web服务器,当许多浏览器来访问的时候,如果服务器等一个处理完再处理另一个,那这样就太慢了,服务器可以为每一个请求开一个进程,这样就实现了多进程,提高处理速度。例如:有一个大工程,可以分为许多个模块,就可以为每一个模块创建一个线程,当然有的模块之间有先后顺序,这可以进行特殊处理。

1. 概念:

fork是在Linux中使用的一个分叉函数。若成功调用一次则返回两个值,子进程返回0,父进程返回子进程标记,出错则返回-1。可以把父进程和子进程的关系看做一个链表,父进程指向子进程,子进程如果还有子进程就再指向子进程,否则为空。

2. 特性:

每个进程都有一个非负整数表示的唯一进程ID;fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程;

3. 特殊进程:

ID为0的是调度进程,该进程是内核的一部分,不执行任何磁盘上的程序 ;ID为1的是Init进程,init通常读取与系统有关的初始化文件(/etc/rc*文件、/etc/inittab文件、/etc/init.d/中的文件) ;ID为2的是页守护进程,负责支持虚拟存储器系统的分页操作;

常用的操作函数:

#include      //头文件pid_t getpid(void);     //返回调用进程的IDpid_t getppid(void);    //当前进程父进程ID

4. 举个栗子

#include #include #include using namespace std;int main(){    int count = 0;    pid_t pid = fork();    if(pid < 0)        printf("error\n");    else if(pid == 0){        printf("Child Id = %d\n", getpid());        count++;    }else{        printf("Parent Id = %d\n", getpid());        count++;    }    prinf("count = %d\n", count);    return 0;}

输出结果为:

Parent Id = 3496count = 1Child Id = 3497count = 1

父进程和子进程没有执行的先后顺序,再加个图,加深一下理解:

图 1  程序示意图

关键词:
相关文章
焦点热议:库存升高价格下行 国际煤市偏弱运行

焦点热议:库存升高价格下行 国际煤市偏弱运行

  国际市场偏弱运行  2月以来,国际煤炭市场偏弱运行。欧洲三港的煤炭库存在高位徘徊。2月10日,欧洲三港煤炭总库存达到5699万吨,比去年更多

2023-02-22 10:12:16
地方政府纷纷亮出能源产业“施工图”

地方政府纷纷亮出能源产业“施工图”

  截至目前,全国各省(市、区)的2023年政府工作报告已陆续发布,其中关于能源领域的表述勾勒出各地今年乃至未来5年能源产业发展的路线图和更多

2023-02-22 09:54:13
1月天津市煤炭价格平稳

1月天津市煤炭价格平稳

  监测数据显示,1月天津市煤炭均价为734元吨,环比持平,同比下降12%。1月动力煤市场整体运行平稳,上游煤矿自元旦后陆续安排春节放假,平更多

2023-02-22 10:14:29
资讯推荐:1月内蒙古巴彦淖尔市煤炭价格环比下降

资讯推荐:1月内蒙古巴彦淖尔市煤炭价格环比下降

  根据巴彦淖尔市商务局监测的数据显示,1月份,煤炭均价为102778元吨,较上月下降46%。其中,无烟煤2号平均价格为81667元吨,较上月下降35%更多

2023-02-22 10:12:05
【聚看点】CCTD:短期煤炭市场情绪仍向好

【聚看点】CCTD:短期煤炭市场情绪仍向好

  上周以来,在刚性采购需求明显恢复和短期大幅下跌后的投机需求带动下,煤炭市场情绪面持续好转,价格迎来全面上行。  产地方面,库存压更多

2023-02-22 09:53:10
2023年1月江苏全社会用电量536.62亿千瓦时 同比下降13% 全球聚看点

2023年1月江苏全社会用电量536.62亿千瓦时 同比

  一、全省用电情况  1月份,江苏省全社会用电量53662亿千瓦时,同比下降1301%;年累计全社会用电量53662亿千瓦时,同比下降1301%。  本更多

2023-02-22 08:55:28
大唐华银电力:2023年电煤订货量创历史新高 世界信息

大唐华银电力:2023年电煤订货量创历史新高 世界

  截至目前,大唐华银电力股份有限公司圆满完成了2023年电煤中长期合同订货工作,全年电煤需求实现长协煤100%全覆盖,订货总量创历史新高。更多

2023-02-22 09:04:20
2022年陕西省煤矿百万吨死亡率为0.025

2022年陕西省煤矿百万吨死亡率为0.025

  国家矿山安全监察局陕西局消息,2022年12月份,陕西省原煤产量665321万吨,同比增加7036万吨,上升107%,环比增加28259万吨,上升444%。 更多

2023-02-22 08:54:30
CCTD:国际主要港口动力煤价格继续下降

CCTD:国际主要港口动力煤价格继续下降

  上周,终端库存高企,日韩对澳煤需求继续保持低迷,欧洲地区天然气库存高位且煤炭现货供应较为充足,抑制终端采购兴趣,澳大利亚动力煤价更多

2023-02-21 16:15:15
太原铁路春运发送煤炭7281.6万吨 同比增长1.2%

太原铁路春运发送煤炭7281.6万吨 同比增长1.2%

  中国铁路太原局集团有限公司介绍称,春运40天累计完成发送煤炭72816万吨,同比增12%,旅客发送量同比增长187%。  为确保春运期间电煤等更多

2023-02-21 10:14:28