本文主要介绍flash的作品(flash做出的闪光点是什么),下面一起看看flash的作品(flash做出的闪光点是什么)相关资讯。
1.艾伦在一次粒子加速器爆炸事故中获得了极速移动的超能力,因此他开始成为一名超级英雄 闪电侠 。以此类推,cpu是计算机的核心部件,负责读取和执行指令,每秒可执行数十亿条指令!it 它实际上比闪光灯快得多。
萧flash 美国联邦调查局很快发现了他的能力。为了用好小闪,fbi雇佣小闪为其特别行动组a执行任务。
据说是特别行动队。事实上,除了肖骁,只有一个a博士。肖骁 的日常工作是让博士a 的指示,并执行它们。这是早期的计算机单进程模型。
2.但毕竟a博士收集信息和得到正确的指令是需要时间的,而萧珊执行指令的速度又太快,所以在fbi高层眼里,a博士总是忙忙碌碌,萧珊整天乐此不疲。
为了提高小霜的利用率,fbi开始在特别行动组办公室的楼下设立另一个特别行动组b。
这个设置的过程就是编码,编码的结果就是得到一个可以完成特定功能的程序。
很快,特别行动小组b在的唯一控制下开始秘密行动,这就是进程的诞生,进程其实就是一个运行的程序。现在fbi特别行动组进入了多流程时代。
虽然都是fbi的特别行动组,但除非有特殊情况,a和b一般都是置身事外的。他们都认为自己垄断了fbi的所有资源,但这其实只是fbi的一个伎俩。
背后的含义是每个进程使用完全相同的虚拟地址空间,但是通过操作系统和硬件mmu的配合,映射到不同的物理地址空间。
不同的进程有各自独立的物理内存空间,特别行动组a和b之间的通信是进程间通信(ipc)。
小闪虽然快,但还是不可能同时执行a博士和的指令,就像人可以 不要在向右看的时候向左看。
a博士和经常为此打架,大家都想占用小闪更多的时间来完成他的kpi。
fbi领导想了一个办法,成立一个新的调度小组,把小闪的使用时间分配给各个小组。一开始调度小组会给每个进程分配一个相等的短时间,然后每个小组轮流占用flash执行相应时间的任务。这是cpu的时间片分配。
如果萧闪还没 t在这么短的时间内执行完了,必须停止,但是要保存执行进度,下次从末尾继续做。这是cpu的上下文切换。
就这样,a博士和的kpi完成了,肖山也忙起来了。说我忙,其实花在指令执行上的时间并不多。基本上我在两组之间反复跳来跳去,笑笑 的工作还是很舒服的。5.两个博士嫉妒萧珊,还有很多空闲时间。其实他们很有默契地发起一个招聘公告,广招天下人才。势必会找到更多的事情让萧珊去做。
很快,行动组的成员越来越多,每个成员都有不同的任务。比如有的人负责咨询信息,有的人负责接收信息...群体中的所有成员一起工作,以实现特殊群体的共同目标。从此进入了多线程时代。
线程就像一个组的成员,一个进程可以包含许多线程。
流程是资源分配的基本单位,比如fbi给特殊群体分配办公空间。
线程是cpu调度的基本单位。比如flash需要执行每个团队成员的指令。
6.成员多了,管理成了新问题。如果每个成员只是自言自语,而不是。;根本不注重团队合作,很容易引起团队内部矛盾。
为此,fbi制定了几个策略。对应于线程的同步。
7.行动组里不同的资源共享程度不同。比如有人在用厕所,别人只能等,冲进去就会发生。这意味着进程中的一些共享内存一次只能由一个线程使用,其他线程必须等待该线程使用完才能继续使用。
防止别人进入的一个简单方法就是给厕所加一把锁。第一,占厕所的人锁。其他人看到锁后,在门口排队,直到被占用的线程解锁。这种策略在英语中被称为互斥。
8.与厕所不同,会议室可以允许10个人同时进入。如果人数超过10人,多出的人只能排队等候,其他人可以进入会议室,除非有人离开一个房间。
为了解决这个问题,fbi在会议室门口挂了10把钥匙。每个人在进入会议室前都要拿一把钥匙,出来时要放回原处。如果迟到者发现没有钥匙,就在会议室门口等着。这种策略被称为信号量。互斥锁只允许一个线程进入临界区,信号量允许多个线程同时进入临界区。
9.有时候,行动组的一些任务很复杂,需要流水线作业。上游人员完成后,将结果交付给下游人员进行处理,这是典型的生产者-消费者模型。
如果生产者生产太快,我们可以适当让上游人员停工,等待一定的时机唤醒生产者;另一方面,如果消费者消费过快,可以适当让下游人员停止工作,等到一定时间再叫醒消费者。
这个策略叫做 条件变量和,而其背后的原理是在等待某些条件的同时让线程进入睡眠状态,一旦条件满足就唤醒。
10.最后,以行动组的投影仪为例。很多成员喜欢在休息时间坐在一起用投影仪看一部电影,类似于多线程阅读同一资源,不管有多少人在看。电影里不会有问题。
但是在别人看电影的时候有人要升级放映机的操作系统,肯定会影响别人的观影体验;相反,在升级操作系统时,有人要看电影,也会给升级人员带来麻烦。
这时候可以制定一个策略,在看电影的时候,欢迎其他观影者随时使用;升级时,禁止任何查看者和任何其他升级人员使用。
这种方法被称为 读写锁 ,也叫 共享-排他锁 。 观看 对应于线程的读操作,而 升级 对应于线程的写操作。具体来说,一般有两种情况:
如果读写锁处于写锁定状态,所有试图锁定它的线程在解锁之前都会被阻塞;如果读写锁处于读锁状态,所有试图以读模式锁定的线程都可以获得访问权,但以写模式锁定的线程会阻塞;结束!
标签:
线程组
了解更多flash的作品(flash做出的闪光点是什么)相关内容请关注本站点。