进程与线程简单实验
2021-02-20 03:30
标签:函数 class size col 信息 总结 lse creat lib 【实验要求】: 学习fork函数,exec函数,pthread函数的使用,阅读源码,分析三个函数的机理。 【代码实现】: 进程A创建子进程B 进程A打印hello world,进程B实现Sum累加 进程B有两个线程,主线程创建子线程实现Sum累加 分析各执行体处理器使用,内存使用等基本信息 【分析】 要写这个先得看fork exec pthread函数啦! 有几个博客很有帮助 https://www.cnblogs.com/amanlikethis/p/5537175.html https://blog.csdn.net/nan_lei/article/details/81636473 https://blog.csdn.net/u011279649/article/details/18736181 看完了这个基本上可以开始写了 源代码很简单,分成两个文件,一个处理线程,一个创建进程B 处理进程的main.c 还有处理线程的child.c 然后对它们分别编译 运行是 这个时候需要注意,对线程的编译需要加上-lpthread,因为好像Linux默认库里没有,不加会报错 这样就完成啦! 【BUG总结】 在写的过程中有几次报错 1.Sum函数报错。Sum函数根据线程的形参要求应当是*Sum 2.main重复定义。两个文件通过 execve指令连接,而非连接编译 3.child.c编译时线程报错。原因是没有加上-lpthread 4.运行时bug。因为execve没有指向正确的线程可执行文件 注意以上几点基本上这个实验就没问题了,真的好简单 进程与线程简单实验 标签:函数 class size col 信息 总结 lse creat lib 原文地址:https://www.cnblogs.com/jhjgarden/p/12683459.html 1 #include
1 #include
1 gcc child.c -o child -lpthread
2 gcc mian.c -o main
1 ./main
上一篇:python-markdown