国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統 - Linux - 淺談linux模擬多線程崩潰和多進程崩潰

淺談linux模擬多線程崩潰和多進程崩潰

2020-07-20 20:34王冠 Linux

這篇文章主要介紹了淺談linux模擬多線程崩潰和多進程崩潰,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

結論是:
多線程下如果其中一個線程崩潰了會導致其他線程(整個進程)都崩潰;
多進程下如果其中一個進程崩潰了對其余進程沒有影響;

多線程

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <pthread.h>
#include <assert.h>
 
void *fun1(void *arg)
{
 printf("fun1 enter\n");
 while(1)
 {
  printf("%s\n", __FUNCTION__);
  usleep(1000 * 1000);
 }
 printf("fun1 exit\n");
 return ((void *)1);
}
 
void *fun2(void *arg)
{
 printf("fun1 enter\n");
 usleep(1000 * 3000);
 char * ptr = (char *)malloc(sizeof(char));
 printf("ptr1: 0x%x\n", ptr);
 ptr = NULL;
 printf("ptr2: 0x%x\n", ptr);
 free(ptr);
 memcpy(ptr, "123", 3);
 printf("ptr3: 0x%x\n", ptr);
 printf("fun2 exit\n");
 return ((void *)2);
}
 
int main(void)
{
 pthread_t tid1, tid2;
 int err;
 
 err = pthread_create(&tid1, NULL, fun1, NULL);
 assert(0 == err);
 err = pthread_create(&tid2, NULL, fun2, NULL);
 assert(0 == err);
 
 printf("main join ...\n");
// getchar();
 pthread_join(tid1, NULL);
 pthread_join(tid2, NULL);
 
 return 0;
}

多進程

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <pthread.h>
#include <assert.h>
 
void fun(void *arg)
{
 printf("fun1 enter\n");
 usleep(1000 * 3000);
 char * ptr = (char *)malloc(sizeof(char));
 printf("ptr1: 0x%x\n", ptr);
 ptr = NULL;
 printf("ptr2: 0x%x\n", ptr);
 free(ptr);
 memcpy(ptr, "123", 3);
 printf("ptr3: 0x%x\n", ptr);
 printf("fun2 exit\n");
 return ;
}
 
int main(int argc, char *argv[])
{
 assert(2 == argc);
 pid_t pid;
 int i;
 for(i=0; i<atoi(argv[1]); i++)
 {
  pid = fork();
  if(0 > pid)
  {
   printf("fork error");
   exit(1);
  }
  else if(0 == pid)
  {
   printf("child pid is %lu\n", (unsigned long)getpid());
   fun(NULL);
   exit(0);
  }
 }
 
 printf("parent pid is %lu\n", (unsigned long)getpid());
 while(-1 != wait(NULL));  //等待所有子進程結束
 printf("main return\n");
 getchar();
 
 return 0;
}

到此這篇關于淺談linux模擬多線程崩潰和多進程崩潰 的文章就介紹到這了,更多相關linux模擬多線程崩潰和多進程崩潰 內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://segmentfault.com/a/1190000022828326

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲欧美成人a毛片 | 国产成人精品一区二区三区四区 | 精品久久久久久久久久久久久久久久久久久 | 国产视频亚洲 | 欧美色综合天天久久综合精品 | 欧美一级淫片007 | 亚洲在线视频 | 精品成人网| 精品国产91亚洲一区二区三区www | 欧美成人精品一区二区男人看 | 日韩欧美一区二区三区免费观看 | 亚洲电影一区二区 | 欧美a在线看 | 成人高清在线 | 免费的黄视频 | 成人区精品一区二区婷婷 | 九九热在线视频 | 在线欧美视频 | 久久久九九 | 亚洲一区二区精品在线观看 | 一级特黄bbbbb免费观看 | 91羞羞网站 | 国产亚洲综合一区二区 | 国产精品国产三级国产aⅴ 成人在线免费看 | а天堂中文最新一区二区三区 | 久久久久国产一区二区三区 | 久久亚洲欧美日韩精品专区 | 欧美精品在线一区 | 激情五月婷| 久久久精品一区二区三区 | 爱色区综合网 | 91av爱爱| 一区二区三区免费观看 | 91久久综合亚洲鲁鲁五月天 | 精品成人av一区二区三区 | 国产成人精品一区二区三区视频 | 亚洲天堂久久 | 国产欧美日韩综合精品 | 国产中文 | 国产午夜精品久久久 | 亚洲国产成人av |