单线程和多线程、进程

1 单线程处理和多线程处理

单线程处理是指该程序只能运行这一个线程。
多线程处理是指该程序可以同时运行多个线程。
使用多线程可以大大提高性能。

2 进程

2.1 什么是进程

一个进程就是一个程序运行的实例。当一个程序运行时,操作系统会给程序创建一块内存,用来存储代码、运行中的数据、一个执行任务的主线程。这样的一个运行环境叫做进程。

2.2 进程vs线程

线程是不能单独存在的,它是由进程进行启动和管理的。

线程是依附进程进行的,在线程中进行多线程处理可以提高运算速率

3 总结

进程和线程之间有4点关系

3.1 进程中的任意一个线程出现错误,会导致整个进程崩溃

当进程中的一个线程出现运行错误时,会导致整个进程的奔溃,其他线程的执行结果也会没了。

3.2 各个线程之间可以共享本进程的数据

线程之间可以对公共的数据进行读取和存储的操作

3.3 当进程结束时,操作系统会回收进程所占用的内存

当一个进程结束时,操作系统会回收该进程所申请的所有资源,即使是因为某些操作不当导致内存溢出,那些溢出的内存也会被正确回收。

比如之前的 IE 浏览器,支持很多插件,而这些插件很容易导致内存泄漏,这意味着只要浏览器开着,内存占用就有可能会越来越多,但是当关闭浏览器进程时,这些内存就都会被系统回收掉。

3.4 各个进程之间的内容互相隔离

进程隔离是为了保护操作系统中的各个进程互不干扰,每一个进程只能访问自己的占有数据,正如进程A的数据不会写入到进程B的数据。正因如此,当进程A崩溃时,不会影响到进程B、进程C等其他进程的运行。如果进程之间需要互相通信,那就需要IPC了。

猜你喜欢

转载自blog.csdn.net/qq_44997147/article/details/106109308