最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

linux下多線程中的fork介紹

 更新時(shí)間:2021年12月01日 15:29:22   作者:code-016  
大家好,本篇文章主要講的是linux下多線程中的fork介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下哦,方便下次瀏覽

問題提出:

回想一下:當(dāng)一個(gè)程序只有主線程的時(shí)候調(diào)用fork,此時(shí)fork會創(chuàng)建出的子進(jìn)程也會只有一條線程;

那要是把fork放入多線程的程序中呢?

我們來試驗(yàn)下:

情況(1)fork在創(chuàng)建子線程之前

代碼:

#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
void* pthread_fun(void* arg)
{
	printf("fun = %d\n", getpid());
	pthread_exit(NULL);
}
int main()
{
	fork();

	pthread_t id;
	pthread_create(&id, NULL, pthread_fun, NULL);
	
	printf("main_pid = %d\n", getpid());
	pthread_join(id, NULL);

	return 0;
}

結(jié)果:fork出的子進(jìn)程也會創(chuàng)建自己的子線程(兩個(gè)進(jìn)程:四個(gè)線程

在這里插入圖片描述

情況(2)fork在創(chuàng)建子線程之后

代碼:

#include <stdio.h>
#include <pthread.h>
#include <unistd.h>

void* pthread_fun(void* arg)
{
	printf("fun = %d\n", getpid());
	pthread_exit(NULL);
}
int main()
{

	pthread_t id;
	pthread_create(&id, NULL, pthread_fun, NULL);
	fork();
	
	printf("main_pid = %d\n", getpid());
	pthread_join(id, NULL);
	return 0;
}

結(jié)果:創(chuàng)建子線程之后,再創(chuàng)建子進(jìn)程,此時(shí)fork的子進(jìn)程只會執(zhí)行fork之后的代碼(兩個(gè)進(jìn)程:三個(gè)線程

在這里插入圖片描述

情況(3)子線程中的fork

代碼:

#include <stdio.h>
#include <pthread.h>
#include <unistd.h>

void* pthread_fun(void* arg)
{
	fork();
	printf("fun = %d\n", getpid());
	pthread_exit(NULL);
}
int main()
{

	pthread_t id;
	pthread_create(&id, NULL, pthread_fun, NULL);
	
	printf("main_pid = %d\n", getpid());
	pthread_join(id, NULL);

	return 0;
}

結(jié)果:

在這里插入圖片描述

結(jié)論:

fork處于哪個(gè)線程中,fork后創(chuàng)建的子進(jìn)程將以該線程作為自己的主線程,并且執(zhí)行該線程之后的代碼

到此這篇關(guān)于linux下多線程中的fork介紹的文章就介紹到這了,更多相關(guān)linux多線程fork內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • linux查看軟件的安裝位置簡單方法

    linux查看軟件的安裝位置簡單方法

    在本篇文章里小編給各位分享的是關(guān)于linux查看軟件的安裝位置簡單方法,有興趣的朋友們可以學(xué)習(xí)下。
    2020-03-03
  • Linux中 find查找命令用法詳解

    Linux中 find查找命令用法詳解

    本篇文章主要介紹了Linux中 find查找命令詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • linux誤刪nginx.conf文件恢復(fù)方式

    linux誤刪nginx.conf文件恢復(fù)方式

    這篇文章主要介紹了linux誤刪nginx.conf文件恢復(fù)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • linux nc命令小結(jié)

    linux nc命令小結(jié)

    這篇文章主要介紹了linux nc命令小結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • Apache中mod_proxy模塊的使用問題及解決方案

    Apache中mod_proxy模塊的使用問題及解決方案

    配置了apache的情況,包括uap集群,配置https等場景下均適用,這篇文章主要介紹了Apache中mod_proxy模塊的使用,需要的朋友可以參考下
    2024-08-08
  • Apache Hive 通用調(diào)優(yōu)featch抓取機(jī)制 mr本地模式

    Apache Hive 通用調(diào)優(yōu)featch抓取機(jī)制 mr本地模式

    這篇文章主要為大家介紹了Apache Hive 通用調(diào)優(yōu)featch抓取機(jī)制 mr本地模式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Centos7如何開啟端口的方法示例

    Centos7如何開啟端口的方法示例

    這篇文章主要介紹了Centos7如何開啟端口的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • Linux如何查看進(jìn)程棧信息示例

    Linux如何查看進(jìn)程棧信息示例

    本篇文章主要介紹了Linux如何查看進(jìn)程棧信息示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • 在Linux環(huán)境如何將python腳本打deb包

    在Linux環(huán)境如何將python腳本打deb包

    為方便傳輸和使用Python腳本,可以將其制作成deb包。本文詳細(xì)介紹了在uos系統(tǒng)下使用debian目錄和相關(guān)文件來定制和構(gòu)建deb包,涵蓋創(chuàng)建配置文件、修改文件、設(shè)置安裝和鏈接規(guī)則等步驟,并提供了打包命令。這樣可以簡化腳本的分發(fā)和安裝過程,使其更加便捷
    2024-09-09
  • linux中文件權(quán)限的使用以及修改方式

    linux中文件權(quán)限的使用以及修改方式

    這篇文章主要介紹了linux中文件權(quán)限的使用以及修改方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評論

肇东市| 石屏县| 营口市| 喀喇沁旗| 阿尔山市| 石屏县| 鸡西市| 民丰县| 郎溪县| 乐至县| 屏边| 凉城县| 临澧县| 赤水市| 正蓝旗| 乐山市| 南开区| 泗阳县| 米易县| 台中市| 革吉县| 尉氏县| 商河县| 铁岭县| 尚志市| 连南| 白朗县| 额尔古纳市| 且末县| 古蔺县| 宁陵县| 中西区| 泊头市| 新竹县| 方城县| 沭阳县| 富民县| 皮山县| 高碑店市| 惠州市| 虎林市|