社区
系统维护与使用区
帖子详情
有人做过进程池吗?
bluefin
2002-08-23 12:10:06
如何实现?有没有什么资料?
...全文
145
10
打赏
收藏
有人做过进程池吗?
如何实现?有没有什么资料?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bluefin
2002-08-24
打赏
举报
回复
谢谢大家,给分了
blh
2002-08-23
打赏
举报
回复
说清楚点!是不是前台有个服务器,接收请求,然后交给后台多个处理进程的一个处理???实现负荷分担的???
waterstream
2002-08-23
打赏
举报
回复
在前面有一个贴子,我把源代码都粘贴上了.方法比较好!
如果你想的话就去看看吧!
wiler
2002-08-23
打赏
举报
回复
同意blh(老猫) 的方法
XSY_VC
2002-08-23
打赏
举报
回复
up
rexp
2002-08-23
打赏
举报
回复
进程池没有做过,线程池做过。
线程池的话,可以用条件变量实现线程间的同步,处理请求的线程和接收请求的线程构成典型的生产者-消费者关系,用pthread_cont_wait和pthread_cond_signal可以轻松的实现,不需要自己管理线程状态,
不知道进程的同步中,有没有条件变量。
wake2000
2002-08-23
打赏
举报
回复
登记一个进程表,设定一个最大进程数目和一个最小进程数目和一个正常数;
系统启动时,就产生正常数目的进程。
一个业务进来,首先在进程表中搜索是否有空闲的进程,有的话,将该进程表项改成已用,并将业务递交给该进程。业务处理完毕后退出时将进程表项修改成未用。
如果业务请求时,进程表没有空余的进程,则向系统请求增加进程,系统首先检查当前进程数是否超过最大值,如果超过,拒绝业务请求。没有超过,则fork一个新的进程处理。
系统定时检查当前进程表的空闲状态,如果发现有过多的空闲进程(超过xx%),则停止一些,停止进程的数目下限为最小进程数。
这种服务器处理方式减少了fork进程时的系统资源消耗,达到减少响应时间的目的。
blh
2002-08-23
打赏
举报
回复
1.建立一个进程池,最近但的是一个进城id,一个忙闲标志,何一个管道(或unix socket),程序执行后先fork一堆子进程,同时和美一个子进程建立一个管道或者unix socket进行通信。
2。挡住进程接收到请求,从进程池中找一个空闲子进程,将空闲表机置1,将请求发送给子进程,在等待下一个请求
3。紫禁城处理完后,可以直接或者通过主进程返回结果给请求者,再通知主进程,主进程把该进程的空闲标志置0,以便下次使用
zhoulifa
2002-08-23
打赏
举报
回复
你是想要服务器程序A处于等待状态处理所有的工作,如果有需要就运行某个进程B,不需要时此进程B就什么也不做,下次再需要时此进程B又开始运行?
不就是要实现进程间通讯吗?
你的程序A做为父进程,而要运行的进程为B,一般情况让只有A处于监视状态,当发现条件成熟时就启动B进程,处理完毕了,B进程自动中止退出或者等待A发过来的信号中止。
用共享内存的方法很方便实现。
bluefin
2002-08-23
打赏
举报
回复
就是服务程序启动时就先建一堆进程,以后如果需要就使用其中的。进程工作完成后也不退出,而是回到进程池时,等待下次调用。Apache好象就用这个方法的,但我现在实在没时间去看它怎么实现的,希望有做过的人能指点一下。
〖Python语法进阶篇④〗 -
进程
池
与
进程
锁
NICE!大家好,在上一章节,我们学习了 multiprocessing 模块 的关于
进程
的创建与进场常用的方法的相关知识。 通过在一个主
进程
下创建多个子
进程
可以帮助我们加速程序的运行,并且提高工作效率。不过上一章节文末我们也说过
进程
的问题,由于每一个
进程
都会消耗 `CPU 与 内存` 资源,这样就不能无限的创建
进程
的问题,因为会造成内存不足或者死机的情况。
Python中的自定义
进程
和
进程
池
Python中的自定义
进程
和
进程
池
文章目录Python中的自定义
进程
和
进程
池
一、自定义
进程
1.步骤:2.例
进程
池
1.概念2.介绍——multiprocess.Pool3.非阻塞式
进程
池
4.阻塞式
进程
池
5.例 一、自定义
进程
1.步骤: 继承python的
进程
类Process 重写__init__方法添加自己的属性,使用super()加载父类属性 重写run()方法(基类的接口方法,里面什么都没做,就是让子类去重写的) 首先我们按照常规导入multiprocessing模块,同样我们使用 from
什么是
进程
池
?并行 并发 同步 异步 阻塞 非阻塞 互斥 死锁
进程
池
?预先创建一组子
进程
,当有新任务来时,系统通过 调配 该组
进程
中的某个 子
进程
完成此任务。为什么需要?1
进程
创建 销毁需要 消耗 cpu 时间2预先创建,以空间 换时间,提升性能。时间 是 唯一 稀缺资源,空间不足 加内存,能够用钱解决的问题 都不是问题,钱都解决不了的 问题 才是 问题。3通过 系统 合理分配任务,提高性能。尽量 实现 真正 的 并行 处理,提升 系统 处理效率。注意...
线程
池
代替
进程
池
一.问题引入 刚进入一家新公司,在公司的一些培训中得知,我们的服务端系统中,底层库的任务调度用的是
进程
池
的实现,也就是创建许多子
进程
来进行执行业务处理,
进程
池
技术是比较早的一种技术了,在现在众多高性能服务端程序中,包括开源著名的apache,nginx…,大多采用线程
池
来实现,下面说一下采用线程的一些好处。 二.线程的优点 线程(thread)技术早在60年代就被提出,但真正应用多线程
Python 多
进程
&多线程&线程
池
&
进程
池
&协程
Python 多
进程
&多线程&线程
池
&
进程
池
&协程
系统维护与使用区
19,612
社区成员
74,603
社区内容
发帖
与我相关
我的任务
系统维护与使用区
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
复制链接
扫一扫
分享
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章