首页 > 试题广场 >

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

[不定项选择题]
关于多线程与多进程编程,下面描述正确的是:
  • 多进程里,子进程可获得父进程的所有堆与栈的数据;而线程会与同进程的其他线程共享数据,拥有自己的栈空间
  • 线程因为有自己的独立栈空间且共享数据,所有执行的开销相对较大,同时不利于资源管理和保护
  • 线程使用公共变量/内存时需要使用同步机制,因为他们在同一地址空间内
  • 因多线程里,每个子进程有自己的地址空间,因此相互之间通信时,线程不如进程灵活和方便
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。

      根本区别就一点:用多进程每个进程有自己的地址空间(address space),线程则共享地址空间。所有其它区别都是由此而来的:
1、   速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。
2、   资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。
3、   同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内
发表于 2021-01-15 18:40:43 回复(0)