返回信息流如题,我想运行一个多线程的C++程序,会有上万个线程同时运行,能否开辟一块共享内存,使得每个线程都可以向这块区域里写,而另外的一个php进程可以访问到这块区域里的内容?
谢谢!
这是一条镜像帖。来源:北邮人论坛 / soft-design / #42260同步于 2012/5/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
请教php和C++在linux上共享内存的问题
a308603129
2012/5/9镜像同步15 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
应该可以吧。。。没试过,猜测可以。
进程和线程在linux下,区别没那么大,只要能开一万个进程,应该就可以开一万个线程。只要进程描述符足够多,应该就可以吧。
【 在 binux 的大作中提到: 】
: 能开得出上万个线程?
不可以的 线程不仅受fd限制,还受到mem限制,
可用内存/线程栈的大小 = linux下 3G/默认 8M = 384 所以32位下只能开到384个左右,虽然实际上只是名义上线程把内存占满了,不过可以把栈条小,从而增加线程数目
【 在 zxsword (小绝) 的大作中提到: 】
: 应该可以吧。。。没试过,猜测可以。
: 进程和线程在linux下,区别没那么大,只要能开一万个进程,应该就可以开一万个线程。只要进程描述符足够多,应该就可以吧。
嗯哪。
32位的体系结构下,确实不至于上万个。GDT的那张表,能够容纳的是8192来着吧,记不清楚了。毕竟每个进程需要放一个LDT和一个TSS。
不过,楼主既然敢提这样的问题,以为楼主是不是在服务器上跑程序呢,例如百G内存的机器。
【 在 purevirtual 的大作中提到: 】
: 不可以的 线程不仅受fd限制,还受到mem限制,
: 可用内存/线程栈的大小 = linux下 3G/默认 8M = 384 所以32位下只能开到384个左右,虽然实际上只是名义上线程把内存占满了,不过可以把栈条小,从而增加线程数目
:
恩 不错是这样的 羡慕lz的服务器nb
【 在 zxsword (小绝) 的大作中提到: 】
: 嗯哪。
: 32位的体系结构下,确实不至于上万个。GDT的那张表,能够容纳的是8192来着吧,记不清楚了。毕竟每个进程需要放一个LDT和一个TSS。
: 不过,楼主既然敢提这样的问题,以为楼主是不是在服务器上跑程序呢,例如百G内存的机器。
: ...................