关注
客服
刷新
更多
编辑
回到顶部
回到底部
客服二维码

进程和线程机制

进程

进程负责为程序的运行提供必备的环境

进程就相当于工厂中的车间

当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。
而一个进程又是由多个线程所组成的。

线程

线程计算机中的最小的计算单位,线程负责执行进程中的程序

线程就相当于工厂中的工人

线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,
即不同的线程可以执行同样的函数。

单线程

js是单线程

单线程在程序执行时,所走的程序路径按照连续顺序排下来,前面的必须处理好,后面的才会执行。 单线程较多线程来说,系统稳定、扩展性极强、软件丰富。 多用于点对点的服务。 单线程处理的优点:同步应用程序的开发比较容易,但由于需要在上一个任务完成后才能开始新的任务,所以其效率通常比多线程应用程序低。

多线程

多线程是指程序中包含个执行流,即在一个程序中可以同时运行个不同的线程来执行不同的任务, 也就是说允许单个程序创建个并行执行的线程来完成各自的任务。

多线程的好处: 可以提高CPU的利用率。

1、多线程间并行,是一个进程中的多个执行流,可理解为将一个大任务拆分出的多个子任务。

2、多线程适用场景

1)存在需要等待IO、网络或其他外部资源的任务。当前等待其他资源却依旧占用CPU的线程可让出CPU,让其他线程执行,大大提高了程序效率,充分利用了CPU资源。

2)存在长时间占用CPU的任务。CPU以时间片为单位分配给各个线程,一个周期内各个线程都可以得到执行,而非卡在一个线程。而且多线程意味着分配到的CPU时间片也更多。

3、多线程弊端

1)访问共享资源时要小心,需要更多的锁资源,同步更加复杂。

2)内存占用更多,资源开销更大。

3)需要额外的线程调度和管理。如需要CPU时间来跟踪线程。

posted @ 2023-05-12 15:02  勋染  阅读(7)  评论(0编辑  收藏  举报  来源