【回眸】嵌入式软件面试题背诵版
1、进程(Process),线程(Thread),有什么区别?
以下是进程和线程的区别:
地址空间:
进程的地址空间是独立的,而线程的地址空间是进程的一部分。这意味着,进程之间的地址空间是相互独立的,而同一进程内的线程之间可以共享数据和内存。
资源拥有:
进程拥有独立的资源,如内存、文件、I/O等,而同一进程内的线程之间可以共享这些资源。这种共享可以通过同步机制来协调,以确保多个线程对共享资源的访问不会发生冲突。
任务执行:
进程是独立的任务执行单元,而线程是在进程内的任务执行单元。一个进程可以有多个线程,但一个线程只能属于一个进程。
崩溃风险:
当一个进程的某个线程崩溃时,整个进程都会受到影响,因为其他线程也共享了该进程的地址空间和资源。相反,多个进程之间的相互独立性更高,一个进程的崩溃不会影响其他进程。
2.进程间的通信方式
1.无名管道
2.有名管道
3.信号
4.共享内存
5.消息队列
6.套接字
7.信号量
3.使用多线程时需要注意什么?
线程安全、线程间通信、死锁、上下文切换开销、共享资源的合理使用
4.中断的工作原理是什么?
中断是计算机系统中由硬件和软件协同实现的响应机制,用于协调CPU处理多任务事件。