当前位置:  技术问答>linux和unix

请问,现在程序还有fork多个进程协同工作的吗?

    来源: 互联网  发布时间:2017-02-19

    本文导语:  我有几个疑问: 1.程序fork多进程是否还有使用价值.   1).数据安全性要求不高,一般用共享内存的多线程就能很好工作,开发效率高效.   2).数据安全性要求较高,一般划分为不同进程.不同进程通过socket进行数据传输,方...

我有几个疑问:
1.程序fork多进程是否还有使用价值.
  1).数据安全性要求不高,一般用共享内存的多线程就能很好工作,开发效率高效.
  2).数据安全性要求较高,一般划分为不同进程.不同进程通过socket进行数据传输,方便以后跨网布置.
  3).多进程之间的内存共享效率应该是最高的,但同时还需求一套同步机制...
2.多进程之间同步
  1).POSIX信号量,程序启动或者其它中断原因,可能会导致死锁问题.(sem_unlink现在已经改为调用立即删除了)
  2).文件锁.很早以前了解过这个东东.在尝试过POSIX信号量失败后,可能会把文件锁作为进程间同步工具.

主要是最近设计项目框架时,按照安全性级别,划分为几个程序,程序间通过socket交换数据.每个程序功能不大,所以产生一个想法,就是主进程fork多个进程并监控子里程运行,每个子进程完成独立的功能,通过共享内存交换数据..
有没有前辈有这方面的经验,给点提示,或者大家交流下.

|
apache的架构本身就这样, 父进程负责子进程管理, 父子进程与子进程之间使用同一块匿名共享内存记录一些全局数据, 需要shared pthread_mutex_t 同步共享内存区的操作.

其他就没什么了, 父子进程需要交互一些信息使用管道或者sockpair, 自己规定就好.

|
fork 多个进程协同工作,还是很普遍的

|
说的很玄乎的样子,其实都是基础开发能力,每个linux开发人员都应该很熟练的理解并运用。

任何服务都要看需求考虑架构设计,master-worker的工作模型太普遍了,都没什么意思了,多线程模型也没难度,技术方案都千篇一律,楼主知道的太少了。

|
google
《unix 进程通讯》  W.richard Steven

网上资料很多,ipc效率最高的应当是共享内存方式,可以看看这种方式。

|
用多线程不就好了啊

|
linux 实现的话 一个pthread 就相当于fork个进程,多线程实际就是多进程吧 

|
用openmp和mpi配合更好

    
 
 

您可能感兴趣的文章:

  • 如果一个server进程要fork许多子进程,但不等待子进程终止,也不希望子进程结束后处于僵进程状态直到父进程终止。请问可采用什么方法实现
  • 一个进程首先监听一个端口,等到有连接了就新开一个进程,让新进程来处理后面的通讯。请问母进程中已经打开了端口,子进程怎么来使用同一
  • 请问:子进程的数据可以传给父进程吗????
  • 父进程等待子进程n秒,如果子进程正常退出,父进程立即继续向下执行,如果子出现进程故障一直不退出,父进程等待n秒后继续向下执行,请问
  • 请问:如果知道一个进程的pid 怎么得到他父进程的pid
  • 请问: 在要想删掉进程名为"xxx"的进程,在shell脚本中该写什么啊?
  • 请问已知进程的PID,通过什么函数可以得到进程的名字?
  • 请问fork子进程后,怎么修改子进程的所属用户。
  • 请问linux进程的哪些信息保存在内核里?哪些信息又保存在进程空间里?谢谢
  • 请问知道进程标识,能够结束该进程并回收所有资源么?
  • 请问父进程如何获得子进程的子进程的pid号?
  • help help busy!!! 请问如何让一个进程进入dead状态或者编程实现让一个进程进入dead状态
  • a 请问怎样查看服务器上的telnet进程,及远程telnet进程的ip
  • 请问子进程应该怎么调试。
  • 请问有关进程间通信的问题
  • 请问:linux下的子进程与线程的区别
  • 请问在 linux 下如何使用 execl() 调用另一个多进程的程序?
  • 请问前辈,线程和进程有什么区别啊?
  • IT科技资讯 iis7站长之家
  • 请问统计当前进程数应该使用什麽命令?
  • 请问如何实现多个并行的定时器?
  • 请问如何在一个文件系统修改源码管理并使用多个卷(存储设备)
  • 请问JAVA如何定义常量实行多个JAVA程序共用?
  • 请问如何在linux下一个工程里面使用多个cpp文件
  • 请问怎么用sort对多个字段进行排序?
  • 请问怎么对一个数组排序,数组的内容是字符串,可能是单个也可能是多个?
  • 请问,如何把多个文件夹压缩一个包(70分)
  • 请问linux下如何在保留目录的情况下,删除目录中的多个文件?谢谢
  • 请问如何阻止运行同一程序的多个实例?
  • 请问多个线程同时读写同一文件的操作是否安全?
  • 请问:为何我安装的mpich2可以不能在多个节点上运行!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 菜鸟问题:请问在哪里可以下载Gcc和Glade还有Glade怎么安装?还有在KDE环境下可以用Glade吗?Thanks!
  • 请问学习linux还有什么前景吗?
  • 请问怎样编程获得本机的MAC地址?还有能不能设置本机MAC地址?
  • 我没用过Java,请问各位大侠Java中除了/*...*/用作注释外,还有什么符号可用于注释符?
  • 请问在哪里下最新的JVM?还有,JAVA类库的帮助文档哪里有?
  • 请问哪里可以免费down unix ware,还有序列号是多少
  • 请问初试加载环境变量的文件除了/etc/profile还有哪个
  • 请问linux下访问局域网共享文件的软件除了samba还有什么?
  • 请问用户态与驱动传参数除了用file_operations这个结构外还有其他方法么
  • 请问:除了Red Hat Linux还有什么其他什么Linux?
  • 请问,除了Kylix之外,Linux上还有那些C/C++的图形界面集成开发环境?
  • 请问各位大虾:笔记本安装Linux的多吗?还有,笔记本对Linux的支持好吗?
  • 请问高手LINUX系统加硬盘分区格式化的步骤,还有要注意点什么?
  • 请问硬件系统一种属intel架构, 还有一种是什么架构?
  • 请问BufferedWriter 和PrintWriter都是输出字符流,还有什么区别?
  • linux新手想请问大家你们在linux下通常用什么开发语言和工具(C多点还是C++多点还是pascal ?还有工具方面?)
  • 请问如何使得SCO Unix用Telnet通过TCP/IP访问Novell,还有Novell4.11的Tenlnet服务如何开启?谢谢!
  • 请问在JSP页面中如何打印该页面中<body>标记符中的内容?还有如何获得一个到打印机的输出流?谢谢先
  • 请问,联想昭阳下装liunx,指纹识别还有联想不用开机也可以用的功能还可以用吗?
  • 请问Gaim的帐号如何取得?我没有帐号啊,还有msn messager能不能在linux下用?
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3