线程和进程

来源:互联网 发布:淘宝微淘官网首页 编辑:程序博客网 时间:2024/06/06 00:05

解析:A错,进程拥有独立的地址空间;B错,主线程和子线程是并行关系的时候,并没有依赖关系。父进程和子进程中,子进程是父进程的一个副本,创建子进程后,子进程会有自己的空间,然后把父进程的数据拷贝到子进程的空间里。运行时,谁先运行是不确定的,这由系统决定;C错,多线程和多进程都会引起死锁,一般说的死锁指的是进程间的死锁。

  进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。如果有兴趣深入的话,我建议你们看看《现代操作系统》或者《操作系统的设计与实现》。对就个问题说得比较清楚。

父进程和子进程都有自己独立的地址空间;
父进程结束,所有子进程都结束,进程结束,所有线程都结束;
如果多个进程同时占有对方需要的资源而同时请求对方的资源,而它们在得到请求之前不会释放所占有的资源,那么就会导致死锁的发生,也就是进程不能实现同步。
关于B选项的一点见解。
在线程调度的三种状态运行、阻塞、就绪上来说,改变主线程的状态,其他线程并不受到影响。但是主线程终止,同一进程内的所有子线程全部终止。所以说B选项的前半句 正确的改法应该是:改变进程里面主线程的状态不一定会影响到其他线程的行为。



对进程和线程的描述,以下正确的是()

正确答案: D   你的答案: 空 (错误)

父进程里的所有线程共享相同的地址空间 √,父进程的所有子进程共享相同的地址空间 ×
改变进程里面主线程的状态会影响到其他线程的行为 (不一定),改变父进程的状态不会影响到其他子进程 (不一定) 
多线程会引起死锁,而多进程不会

以上选项都不正确

0 0
原创粉丝点击