linux模拟多线程崩溃和多进程崩溃的代码解析
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要讲解了linux模拟多线程崩溃和多进程崩溃的代码解析,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。结论是:多线程下如果其中一个线程崩溃了会导致其他线程(整个进
千家信息网最后更新 2025年12月02日linux模拟多线程崩溃和多进程崩溃的代码解析
这篇文章主要讲解了linux模拟多线程崩溃和多进程崩溃的代码解析,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
结论是:
多线程下如果其中一个线程崩溃了会导致其他线程(整个进程)都崩溃;
多进程下如果其中一个进程崩溃了对其余进程没有影响;
多线程
#include#include #include #include #include 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;}
多进程
#include#include #include #include #include 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 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模拟多线程崩溃和多进程崩溃的代码解析有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。
进程
线程
内容
代码
学习
兴趣
对此
小伙
小伙伴
明了
更多
篇文章
结论
行业
资讯
资讯频道
频道
进一
帮助
影响
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发找创业团队
静海软件开发
windows服务器清缓存
数据库软件开发语言
sybase 数据库空间
数据库和产品经理哪个好些
定制软件开发预算金额
广州 软件开发
上海网络技术开发质量服务
gpu数据库优化
苏州项目软件开发定制费用
学堂在线数据库系统原理答案
外置无线打印服务器哪个品牌好
宝山区新时代软件开发加工厂
网络安全下布局机会
江苏软件开发的价格
软件开发公司周年庆活动策划
加加软件服务器管理员密码
上海服务器机房搭建报价
重庆微信软件开发公司
驻日软件开发
怎样联系网络技术人员
网络安全创新能力50强
南坪租房软件开发
存储和服务器连接
学校网络安全内容排查情况
网络安全讲座 视频下载
数据库tri
惠普服务器电源维修视频
systems中心化数据库