
操作系统
文章平均质量分 95
码农小张~
这个作者很懒,什么都没留下…
展开
-
线程安全以及解决方案
例如:定义了一个变量count,执行count++这种操作,本质上是三个CPU指令,load(将count的值读入cpu寄存器中)、add(将寄存器的数据进行+1)、save(将寄存器中的数据读入到内存中),而CPU执行指令都是以一个指令为单位顺序进行的,试想,有两个线程同时执行count++操作,这些一个一个的指令就会抢占执行,线程一的add的操作刚完,线程二的add就抢占了下一个位置…线程的调度是随机的,在有些调度下,代码的逻辑会出现问题,结果会与预计结果不同,但这个是内核实现的,没有办法改变。原创 2024-04-24 13:49:20 · 992 阅读 · 0 评论 -
进程和线程
虽然多进程也能实现 并发编程,但是由于进程太重量,效率不高,创建进程、销毁进程、进程调度时间的消耗较多,主要消耗在申请资源, 线程比进程更轻量,线程之间共享进程的内存空间和硬盘资源,创建线程,不需要重复去申请资源,省去了这一部分的开销 ,提高了系统的效率和资源利用率。PCB是操作系统进行进程调度和管理的基础,当操作系统需要切换进程时,会保存当前进程的上下文信息到其对应的PCB中,然后加载下一个将要执行的进程的PCB,并将其上下文信息恢复,从而实现进程的切换。方法1 继承 Thread 类。原创 2024-04-24 13:48:20 · 705 阅读 · 0 评论