linux多进程问题请教
对linux进程有点疑惑,请教下:
1,使用fork函数得到的子进程是父进程的一个复制品,它从父进程处继承了整个进程的地址空间,包括进程上下文、进程堆栈、内存信息、打开的文件描述符、信号控制设定、进程优先级、进程组号、当前工作目录、根目录、资源限制、控制终端等,而子进程所独有的只有它的进程号、资源使用和计时器等。如果父子进程这些都相同的话不是乱套了?难道各自的内存空间不应该是独立的吗?
2,什么时候需要用到多进程编程,它相对于多线程有什么优势?大家都说多线程不好控制,难道多进程不是一样的问题吗?不也需要同步,互斥吗?
3,如果一个软件要求同时完成数据采集,网络传输,事务处理3个功能,能否为各个任务建立各自进程?处理方式是不是主函数创建2个子进程,根据返回值区分进程,然后把3个任务的处理函数分别调用?这就是多进程编程方式吗?
网上查了些进程线程相关资料,理解的有点模糊,麻烦大家指点一下