发布时间:2018年04月10日 20:59:29分享人:魂小子来源:互联网29
网络编程中设计并发服务器,使用多进程与多线程 ,请问有什么区别?
答案一:
1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。
2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
两者都可以提高程序的并发度,提高程序运行效率和响应时间。
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。
答案二:
根本区别就一点:用多进程每个进程有自己的地址空间(address space),线程则共享地址空间。所有其它区别都是由此而来的:
1。速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。
2。资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。
3。同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内
多线程和多进程的区别(小结)收藏
很想写点关于多进程和多线程的东西,我确实很爱他们。但是每每想动手写点关于他们的东西,却总是求全心理作祟,始终动不了手。
今天终于下了决心,写点东西,以后可以再修修补补也无妨。
一.为何需要多进程(或者多线程),为何需要并发?
这个问题或许本身都不是个问题。但是对于没有接触过多进程编程的朋友来说,他们确实无法感受到并发的魅力以及必要性。
我想,只要你不是整天都写那种int main()到 底的代码的人,那么或多或少你会遇到代码响应不够用的情况,也应该有尝过并发编程的甜头。就像一个快餐点的服务员,既要在前台接待客户点餐,又要接电话送 外卖,没有分身术肯定会忙得你焦头烂额的。幸运的是确实有这么一种技术,让你可以像孙悟空一样分身,灵魂出窍,乐哉乐哉地轻松应付一切状况,这就是多进程/线程技术。
并发技术,就是可以让你在同一时间同时执行多条任务的技术。你的代码将不仅仅是从上到下,从左到右这样规规矩矩的一条线执行。你可以一条线在main函数里跟你的客户交流,另一条线,你早就把你外卖送到了其他客户的手里。
所以,为何需要并发?因为我们需要更强大的功能,提供更多的服务,所以并发,必不可少。
二.多进程
什么是进程。最直观的就是一个个pid,官方的说法就:进程是程序在计算机上的一次执行活动。
说得简单点,下面这段代码执行的时候
view plaincopy to clipboardprint?
intmain()
{
printf(”pidis%d/n”,getpid());
return0;
}
[cpp:collapse]+ expand sourceview plaincopy
爱华网本文地址 » http://www.aihuau.com/a/25101012/119844.html
更多阅读
晚上多梦的原因及预防办法——简介 多梦最明显的症状就是梦境纷纭、睡卧不宁,所以,夜间多梦的人往往睡眠质量低下、白天精神不振。要解决多梦的问题,还要从根源入手,针对病因进行治疗和调节。每个人都做梦。但大多数人醒来后不久就忘记
盐吃多了的危害——简介高血压,肾病,上呼吸道感染,心脏的疾病好多都和盐的过多摄入有关系。如果吃的东西过咸血管会过早老化。恶性肿瘤都有可能和大量吃盐有关,胃癌可能就会是过多吃盐引起的,盐会刺激胃黏膜。癌症百分之四十都和吃的东西
文/赵民生帕金森病是一种中老年人常见的运动障碍疾病。表现为静止性震颤,运动迟缓,肌强直,步态异常。药物治疗是帕金森病最常用的方法,主要用药物来提高脑内多巴胺的含量及其作用以及降低乙酰胆碱的活力。其中最有效药物治疗就是用多巴
关于梅森素数是否有无穷多个的判定方法在网上读到了《梅森素数:千年不休的探索之旅》一文,知道在2300多年前,古希腊的数学家,那位写出不朽的《儿何原本》的欧儿里得证明了素数有无穷多个之后,就顺便指出:有许多素数可以写成2p-1的形式,其
亚里士多德在西方文化史上首次构建了系统的美学理论,即他的诗学。他从哲学高度提炼魅力永恒的希腊艺术精神,铸成了西方美学的开山杰作。亚里士多德的哲学研究作为存在的存在,艺术作为创制知识表现现实的存在,美学是他的博大精深的哲学