博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于多线程和多进程编程,下面描述正确的是():----腾讯2016研发工程师笔试题(一)
阅读量:2387 次
发布时间:2019-05-10

本文共 644 字,大约阅读时间需要 2 分钟。

关于多线程和多进程编程,下面描述正确的是():

正确答案: A C D

多进程里,子进程可获得父进程的所有堆和栈的数据;而线程会与同进程的其他线程共享数据,拥有自己的栈空间
线程因为有自己的独立栈空间且共享数据,所有执行的开销相对较大,同时不利于资源管理和保护
线程的通信速度更快,切换更快,因为他们在同一地址空间内
线程使用公共变量/内存时需要使用同步机制,因为他们在同一地址空间内
因多线程里,每个子进程有自己的地址空间,因此相互之间通信时,线程不如进程灵活和方便

线程和进程的区别联系:
1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。
2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
 

两者都可以提高程序的并发度,提高程序运行效率和响应时间。
 

线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。
根本区别就一点:用多进程每个进程有自己的地址空间(address space),线程则共享地址空间。所有其它区别都是由此而来的: 
1、
速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。 
2、
资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。 
3、
同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内

转载地址:http://dgnab.baihongyu.com/

你可能感兴趣的文章
Digital Forensics Framework v0.4.3 available
查看>>
linux设置bond网卡绑定
查看>>
Is your .svn showing (like 3300 other sites)?
查看>>
PCI DSS Update Could Include Virtualization Security(转载自baoz)
查看>>
List of Windows Auto Start Locations
查看>>
OSSIM 2.1 - Multiple security vulnerabilities
查看>>
PHP文件上传源码分析(RFC1867)
查看>>
关于php5.*后的时区问题 date_default_timezone_set ();
查看>>
“Cache-control”常见的取值有private、no-cache、max-age、must-revalidate等
查看>>
安全工具集合
查看>>
Metasploit 3.3 Development Updates
查看>>
Windows Services for UNIX Version 3.5
查看>>
Linux 测试工具
查看>>
Modifying SSH to Capture Login Credentials from Attackers
查看>>
nikto 2.1 coming
查看>>
How to own a Windows Domain
查看>>
Longcat – multi-protocol stress testing tool
查看>>
数据流0day原理+实践
查看>>
淺談以STIX實現網路威脅情報標準化框架
查看>>
Top IT management trends - the next 5 years
查看>>