这类我总结了一些进程与线程的特点和选取方法,若有错误,不吝指正(^.^)
成都创新互联公司是一家专业提供荔波企业网站建设,专注与做网站、网站设计、H5技术、小程序制作等业务。10年已为荔波众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。进程是资源分配的最小单位,线程是CPU调度的最小单位(基本概念啦)
数据同步与共享:(平分秋色)
进程共享复杂需要IPC,数据分开同步简单;
线程共享进程数据,共享简单,但因此同步复杂;
内存CPU:(线程占优)
进程占用内存多,切换复杂,CPU利用率低;
线程占用内存少,切换简单,CPU利用率高;
创建销毁和切换:(线程占优)
进程复杂且慢;
线程简单且块;
编程与调试:(进程占优)
进程编程与调试简单;
线程编程与调试复杂;
可靠性:(进程占优)
进程间不会影响;
线程dump整个进程dump;
分布式:(进程占优)
进程适应多核多机分布式,一个机子不够扩展到多台机器方便;
线程适应多核分布式;
优先情况:
线程优先频繁创建销毁,如Web服务器,一个连接建立一个线程,断开则销毁;
线程优先进行大量计算,如图像处理、算法处理,因为要消耗许多CPU,切换频繁;
线程优先强相关处理、线程优先弱相关处理,强相关是当一列变量变化时另一列变量变化的可能性非常大的关系(如供求与价格),弱相关相反。这并不是一成不变的,要按照实际情况调整;
线程优先多核分布,进程优先多机分布;
都满足时选择最熟悉且拿手的方式。
在周丽论文的实验中(博客上看的,大家可以搜到),任务量较大(此处是255线程/进程,输出文字到控制台和日志文件,打印1000次时时间开销进程小于线程,因为有线程栈)进程效率高;
线程的销毁开销确实小于进程(在10万个线程/进程的环境下,线程开销是进程的约13分之一,同样是周丽论文的实验中的数据),因此在有大量销毁的情况优先考虑线程。
可以改进的地方就评个论啦
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。