1.什么是进程,什么是线程?
进程是系统中正在运行的一个程序,程序一旦运行就是进程。
进程可以看成程序执行的一个实例。进程是系统资源分配的独立实体,每个进程都拥有独立的
地址空间。
线程是CPU独立运行和独立调度的基本单位。
一个进程可以拥有多个线程,线程是进程的一个实体,是进程的一条执行路径。
2.进程和线程之间的区别是什么:
第一:因为进程拥有独立的堆栈空间和数据段,所以每当启动一个新的进程必须分配给它独立的
地址空间,系统开销比较大,而线程不一样,线程拥有独立的堆栈空间,但是共享数据段,它们
彼此之间使用相同的地址空间,共享大部分数据,比进程更节俭,开销比较小,切换速度也比进
程快,效率高。
第二:通信机制上面,正因为进程之间互不干扰,相互独立,进程的通信机制相对很复杂,譬如
管道,信号,消息队列,共享内存,套接字等通信机制,而线程由于共享数据段所以通信机制很
方便。
3.多进程和多线程的优缺点
进程优点:每个进程互相独立,不影响主程序的稳定性,子进程崩溃没关系;
进程缺点:需要跨进程边界,如果有大数据量传送,就不太好,适合小数据量传送、密集运算
多进程调度开销比较大。
线程优点:能适当提高程序的执行效率,能适当提高资源的利用率。
线程缺点:每个线程与主程序共用地址空间,受限于2GB地址空间;
4.什么时候使用进程,什么时候使用线程
-> 当频繁创建和销毁的时候,当然是线程
到此这篇linux驱动开发面试题(linux驱动开发难度)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/goyykf/27176.html