参考回答:
1)进程是cpu资源分配的最小单位,线程是cpu调度的最小单位。
2)进程有独立的系统资源,而同一进程内的线程共享进程的大部分系统资源,包括堆、代码段、数据段,每个线程只拥有一些在运行中必不可少的私有属性,比如tcb,线程Id,栈、寄存器。
3)一个进程崩溃,不会对其他进程产生影响;而一个线程崩溃,会让同一进程内的其他线程也死掉。
4)进程在创建、切换和销毁时开销比较大,而线程比较小。进程创建的时候需要分配系统资源,而销毁的的时候需要释放系统资源。进程切换需要分两步:切换页目录、刷新TLB以使用新的地址空间;切换内核栈和硬件上下文(寄存器);而同一进程的线程间逻辑地址空间是一样的,不需要切换页目录、刷新TLB。
5)进程间通信比较复杂,而同一进程的线程由于共享代码段和数据段,所以通信比较容易。
本文向大家介绍请你说一说进程和线程区别相关面试题,主要包含被问及请你说一说进程和线程区别时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1)进程是cpu资源分配的最小单位,线程是cpu调度的最小单位。 2)进程有独立的系统资源,而同一进程内的线程共享进程的大部分系统资源,包括堆、代码段、数据段,每个线程只拥有一些在运行中必不可少的私有属性,比如tcb,线程Id,栈、寄存器。 3)一个进程崩
本文向大家介绍请你说一说什么是线程和进程,多线程和多进程通信方式相关面试题,主要包含被问及请你说一说什么是线程和进程,多线程和多进程通信方式时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1)概念: 进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发; 线程是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的并发;线程是操作系
本文向大家介绍请你说一下多线程和多进程的不同相关面试题,主要包含被问及请你说一下多线程和多进程的不同时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 进程是资源分配的最小单位,而线程时CPU调度的最小单位。多线程之间共享同一个进程的地址空间,线程间通信简单,同步复杂,线程创建、销毁和切换简单,速度快,占用内存少,适用于多核分布式系统,但是线程间会相互影响,一个线程意外终止会导致同一个进程的其
本文向大家介绍请你说一说strcpy和strlen的区别?相关面试题,主要包含被问及请你说一说strcpy和strlen的区别?时的应答技巧和注意事项,需要的朋友参考一下 strcpy是字符串拷贝函数,原型: char strcpy(char dest, const char *src); 从src逐字节拷贝到dest,直到遇到'0'结束,因为没有指定长度,可能会导致拷贝越界,造成缓冲区溢出漏洞,
本文向大家介绍 请你说一说堆和栈的区别?相关面试题,主要包含被问及 请你说一说堆和栈的区别?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 堆区(heap)— 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。它与数据结构中的堆是两回事,分配方式类似于链表。 区别
本文向大家介绍请你说一说堆和栈的区别?相关面试题,主要包含被问及请你说一说堆和栈的区别?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 堆栈空间分配区别: 1、栈(操作系统):由操作系统自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈; 2、堆(操作系统):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。 二、堆栈缓存方