python全局解释器锁(GIL)

文章目录

      • 1.cpu工作方式
      • 2.python全局解释器锁与多线程
      • 3.其他语言的多线程
      • 4.如何解决假的多线程

1.cpu工作方式

先来先服务(First Come, First Served,FCFS):
最简单的调度算法,按照作业或进程到达的顺序依次执行。没有考虑作业的执行时间,可能会导致长作业等待时间过长(作业或进程执行时间长的情况下)。

最短作业优先(Shortest Job Next,SJN):
选择下一个最短的作业或进程执行,以最小化平均等待时间。需要预先知道每个作业或进程的执行时间,通常用于批处理系统。

最短剩余时间优先(Shortest Remaining Time Next,SRTN):
是SJN的抢占式版本,允许更短的作业或进程中断当前执行的作业或进程。每次到达一个新的作业或进程时,调度器会检查其估计的剩余执行时间,并决定是否切换到新的作业或进程。

轮转调度(Round Robin):
将CPU时间分成多个时间片(固定大小的时间段),按照顺序分配给不同的进程。当一个时间片用完时,当前进程被暂停并放回就绪队列的末尾,下一个进程开始执行。轮转调度适用于时间片短小,并且进程需要相对公平的CPU时间的场景。

优先级调度(Priority Scheduling):
每个进程或作业都有一个优先级,操作系统根据这个优先级来决定下一个要执行的进程。高优先级的进程将优先于低优先级的进程执行。但是,如果优

你可能感兴趣的:(python全局解释器锁(GIL))