来来来,100分,fork(),线程死锁
小弟有以下问题不明白
#include<stdilo.h>
#include<stdlib.h>
#include<sys/types.h>
#include<unistd.h>
#include<sys.wait.h>
int main()
{
printf("begin");
pid_t pc,pr;
pc=fork();/***A***/
if(pc<0)
{
perror("error");
exit(1);
}
else if(pc==0)
{
prntf("child");、***** B****、
}
else{
printf("parent");
}
}
1 小弟不明白在A处 pc=fork();后假设子进程创建成功那么子进程立即进入B代码处,还是从main开始重新执行?
2 也就是子进程创建成功后是从fork以后相应位置开始执行,还是重新从main开始?创建的子进程会打印begin吗(我理解不会),对吗?请详解!
3.请大家给我一个解决线程死锁问题解决的实例链接(如果有),也就是C语言实例体现的?你们工作中解决线程一般用那些方法(列举,有链接更好)?
请大家分点回答(1,2,3),我会根据回答情况公平给分!谢谢大家,辛苦哥子姐妹了!!!!!!!
就两个问题看问题:
#include<stdilo.h>
#include<stdlib.h>
#include<sys/types.h>
#include<unistd.h>
#include<sys.wait.h>
int main()
{
printf("begin");
pid_t pc,pr;
pc=fork();/***A***/
if(pc<0)
{
perror("error");
exit(1);
}
else if(pc==0)
{
prntf("child");、***** B****、
}
else{
printf("parent");
}
}
1 小弟不明白在A处 pc=fork();后假设子进程创建成功那么子进程立即进入B代码处,还是从main开始重新执行?
2 也就是子进程创建成功后是从fork以后相应位置开始执行,还是重新从main开始?创建的子进程会打印begin吗(我理解不会),对吗?请详解!
3.请大家给我一个解决线程死锁问题解决的实例链接(如果有),也就是C语言实例体现的?你们工作中解决线程一般用那些方法(列举,有链接更好)?
请大家分点回答(1,2,3),我会根据回答情况公平给分!谢谢大家,辛苦哥子姐妹了!!!!!!!