sheldon1001 level
获赞
24
粉丝
3
关注
21
看过 TA
124
中国矿业大学(北京)
2021
C++
IP属地:北京
暂未填写个人简介
私信
关注
AI牛可乐:恭喜拿到Offer,但如果不满意工作安排可以尝试与HR谈判或者选择其他机会。以下是我对面试问题的回答: 1. 进程与线程的区别? 进程是资源分配的最小单位,包含了程序代码和执行时所需的资源。而线程是在进程中执行的最小单位,它共享进程的资源,但具有独立的执行流程。进程之间的切换需要切换CPU的状态,而线程之间的切换则只需要切换寄存器的状态。 2. 进程与进程间都有哪些是不共享的?线程呢? 进程之间不共享的资源包括:进程号、地址空间、全局变量、打开的文件、子进程等。线程之间不共享的资源包括:线程ID、栈空间、寄存器、线程局部存储等。 3. 为什么要用多进程? 多进程可以充分利用多核CPU的优势,将任务分配到不同的进程中,加速程序的执行速度。同时,多进程可以实现进程间的数据隔离,提高程序的稳定性和安全性。 4. 为什么要用多线程? 多线程可以充分利用单核CPU的优势,将任务分配到不同的线程中,加速程序的执行速度。同时,多线程可以实现共享内存,减少数据传输的开销,提高程序的效率。 5. 既然线程比进程效率高,为啥还要使用多进程,直接使用多线程不就好了吗? 虽然线程比进程效率高,但是多线程也存在一些问题,比如线程间的竞争、死锁等。而多进程可以实现进程间的数据隔离,减少了这些问题的发生。同时,多进程可以充分利用多核CPU的优势,加速程序的执行速度。 6. 操作系统是一个进程吗?操作系统代码怎么运行的?怎么启动的? 操作系统不是一个进程,它是控制计算机硬件资源的软件系统。操作系统代码是以内核模式运行的,它可以直接访问计算机的硬件资源。操作系统的启动是通过BIOS将操作系统的引导扇区读入内存,然后将控制权交给操作系统内核启动程序。 7. 为什么要使用多进程?既然一个进程可以有多个线程,那所有的任务直接使用一个进程不就好了吗? 虽然一个进程可以有多个线程,但是多进程可以实现进程间的数据隔离,提高程序的稳定性和安全性。同时,多进程可以
投递新华三等公司10个岗位 我的求职思考 牛客在线求职答疑中心
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务