(一)互斥性
互斥性,即原子性。原子,指最小的物质,具体不可再分性。
CPU运算中,对多线程进行时间片分割执行,一个程序块执行时不可分割,即满足互斥性原子性。
java中保证互斥性的方法:
1.用sychronized锁住程序块,实行互斥
synchronized (lock) {
a++;
}
2.用Atomic对变量操作实行互斥
public final stat...
分类:
编程语言 时间:
2015-01-26 10:13:56
阅读次数:
269
一、设计内容
设计一个允许n个进程并发运行的进程管理模拟系统。该系统包括有简单的进程控制、同步与通讯机构,其进程调度算法可任意选择(优先级调度,时间片轮转,短进程优先中的一种)。每个进程用一个PCB表示,其内容根据具体情况设置。各进程之间有一定的同步关系(可选)。系统在运行过程中应能显示或打印各进程的状态及有关参数的变化情况,以便观察诸进程的运行过程及系统的管理过程。
二、设计指...
分类:
系统相关 时间:
2015-01-21 09:01:18
阅读次数:
281
Linux内核的三种调度策略: 1、SCHED_OTHER 分时调度策略 2、SCHED_FIFO实时调度策略,先到先服务。一旦占用cpu则一直运行。一直运行直到有更高优先级任务到达或自己放弃 3、SCHED_RR实时调度策略,时间片轮转。当进程的时间片用完,系统将重新分配时间片,并置于...
分类:
编程语言 时间:
2015-01-19 18:57:51
阅读次数:
282
new创建一个线程之后进入新生状态调用start方法进入就绪状态获得cpu时间片进入运行状态(在这个时间片运行完进入死亡状态)(在这个时间片结束后没有运行完就进入挂起状态也就是就绪状态,系统此时运行其他程序)停止线程1.自然终止:线程体正常执行完毕2.外部干涉:1)线程类中,定义线程体使用的标识2)...
分类:
编程语言 时间:
2014-12-29 18:03:17
阅读次数:
162
记得曾经写脚本按照天为单位进行循环,循环的其实日期可以是任何一天,像这样: 1 START_DAY=$(date -d "$TODAY -1days" +%Y%m%d); 2 3 END_DAY=$(date -d "$TODAY -${cycle}days" +%Y%m%d); 4 5 for.....
分类:
系统相关 时间:
2014-12-25 19:58:21
阅读次数:
206
C#写了一款上位机监控软件,基于MODBUS_RTU协议。 软件的基本结构:1.采用定时器(Timer控件)为时间片。2.串口采用serialPort1_DataReceived中断接收,并进行MODBUS格式判断。3.把正确接收的数据取出,转换为有特定的结构体中。4.数据通过时间片实时刷新。5.M...
分类:
数据库 时间:
2014-12-12 18:33:34
阅读次数:
588
Java中的线程的生命周期大体可分为5种状态。①NEW:这种情况指的是,通过New关键字创建了Thread类(或其子类)的对象②RUNNABLE:这种情况指的是Thread类的对象调用了start()方法,这时的线程就等待时间片轮转到自己这,以便获得CPU;第二种情况是线程在处于RUNNABLE状态...
分类:
编程语言 时间:
2014-12-04 00:45:52
阅读次数:
187
作为一个JAVA程序员我们也应该知道计算机是何如运行的,计算机本身是如何完成工作的。其实我很后悔大二的时候没有好好学习那些计算机底层的知识,把大部分是时间花费在那些花拳绣腿上。一、CPU的基本单位是线程,我们编写的程序通过进程或者线程请求CPU进行处理,首先CPU会分配处理的时间片,处理的时候将操作...
分类:
编程语言 时间:
2014-11-27 00:12:47
阅读次数:
315
一般有六种:就绪:已经获取到除了CPU以外的所有资源,等待获取CPU调度。运行:已获取到CPU使用权。睡眠:主动让出CPU。挂起:被动让出CPU,如时间片用完了。阻塞:与挂起和睡眠类似,都是失去CPU的控制权。与挂起更相像,也是被挂起的。不同之处在于,被挂起的线程没有额外的表示,而被阻塞的线程会被记...
分类:
编程语言 时间:
2014-11-23 18:57:28
阅读次数:
209
1.进程有哪几种状态、状态转换图及导致转换的事件?状态:(1).就绪态:进程已获得 处理机外的所需资源,等待分配处理机资源(时间片),只要分配到即可执行。在某一状态,可能有若干进程处于该状态。(2).运行态:占用处理机资源运行处于此状态的进程的数目小于等于cpu 的数目。(3).阻塞态:由于进程等待...
分类:
其他好文 时间:
2014-11-19 23:47:16
阅读次数:
569