首页 > 试题广场 >

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

[不定项选择题]
关于多线程和多进程编程,下面描述正确的是():
  • 多进程里,子进程可获得父进程的所有堆和栈的数据;而线程会与同进程的其他线程共享数据,拥有自己的栈空间
  • 线程因为有自己的独立栈空间且共享数据,所有执行的开销相对较大,同时不利于资源管理和保护
  • 线程的通信速度更快,切换更快,因为他们在同一地址空间内
  • 线程使用公共变量/内存时需要使用同步机制,因为他们在同一地址空间内
  • 因多线程里,每个子进程有自己的地址空间,因此相互之间通信时,线程不如进程灵活和方便
推荐
线程和进程的区别联系:
1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。
2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
两者都可以提高程序的并发度,提高程序运行效率和响应时间。
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。
根本区别就一点:用多进程每个进程有自己的地址空间(address space),线程则共享地址空间。所有其它区别都是由此而来的:
1、速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。
2、资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。
3、同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内
编辑于 2015-11-24 10:18:35 回复(5)
线程和进程的区别联系:
1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。
2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。  
两者都可以提高程序的并发度,提高程序运行效率和响应时间。  
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。
根本区别就一点:用多进程每个进程有自己的地址空间(address space),线程则共享地址空间。所有其它区别都是由此而来的: 
1、速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。 
2、资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。 
3、同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内
发表于 2016-09-28 09:52:58 回复(0)
我觉得    A有问题,windows下父进程和子进程好象就什么关系
发表于 2015-09-06 12:42:11 回复(3)
楼上他们讲的不错的
发表于 2016-01-09 10:03:20 回复(6)
A选项,“多进程里,子进程可获得父进程的所有堆和栈的数据”并不完全正确,只能说在生也子进程那个时刻是这样的,因为系统使用COW,而在那过后如果子进程执行exec函数,那么父子进程的堆和栈数据是不同的。
编辑于 2016-09-03 20:21:12 回复(0)
不同进程的线程并不共享数据吧,而且地址也不一样。C不完全正确啊
发表于 2019-12-20 10:37:35 回复(1)
楼上他们讲的非常不错的。
线程和进程的区别联系:
1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。
2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。  
两者都可以提高程序的并发度,提高程序运行效率和响应时间。  
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。
根本区别就一点:用多进程每个进程有自己的地址空间(address space),线程则共享地址空间。所有其它区别都是由此而来的: 
1、速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。 
2、资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。 
3、同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内
发表于 2017-07-14 16:10:53 回复(0)
D选项难道不是互斥机制吗?
线程使用公共变量/内存时需要使用同步机制,因为他们在同一地址空间内

发表于 2022-04-13 20:17:06 回复(0)
线程的通信速度更快,切换更快,因为他们在同一地址空间内,拥有自己的栈空间

发表于 2017-04-21 19:43:36 回复(0)
b 现成的执行的开销相对较小,但不利于资源管理和保护
发表于 2022-05-28 13:20:42 回复(0)
我觉得c有问题,同一进程的线程,拥有相同的地址空间。但是不同的进程所拥有的线程,地址空间是不一样的。
发表于 2020-05-27 19:57:21 回复(0)
A
发表于 2019-10-08 17:45:45 回复(0)
线程使用公共变量/内存时需要使用同步机制,因为他们在同一地址空间内
这跟在不在同一地址空间有什么关系吗,share memory共享不是也要同步吗
发表于 2019-03-24 21:11:23 回复(0)
子进程是父进程的复制品,子进程获得父进程数据空间,堆和栈的复制品
发表于 2018-10-12 09:45:39 回复(0)
通过fork()创建子进程后,子进程再通过写时复制机制对拥有的父进程资源进行修改,因此子进程是父进程的复制品,拥有父进程的所有资源。
发表于 2017-08-03 16:58:02 回复(0)
栈私有,其余公有,多线程的最大问题,公有变量的互斥访问,,,
发表于 2015-09-07 20:47:55 回复(0)