2.下列哪种方式不能使进程进入就绪状态( D)
A CPU调度给优先级更高的线程
B 阻塞的线程获得资源或者信号
C 在时间片轮转的情况下,如果时间片到了
D 获得spinlock未果
进程三个状态:运行、就绪、阻塞/等待。
高优先级的抢占CPU,使得原来处于运行状态的进程转变为就绪状态。
阻塞的进程等待某件事情的发生,一旦发生则它的运行条件已经满足,从阻塞进入就绪状态。
时间片轮转使得每个进程都有一小片时间来获得CPU运行,当时间片到时从运行状态变为就绪状态。
自旋锁(spinlock)是一种保护临界区最常见的技术。在同一时刻只能有一个进程获得自旋锁,其他企图获得自旋锁的任何进程将一直进行尝试(即自旋,不断地测试变量),除此以外不能做任何事情。因此没有获得自旋锁的进程在获取锁之前处于忙等(阻塞状态)。
3.软件项目存储于/ftproot,下列命令能保证apache用户可以修改所有程序的是 C
A chmod apache -R /ftproot
B chgrp apache /frproot
C chown apache -R /ftproot
D chmod apache /ftproot
4.执行下列代码后,输出是什么( A )
public class A{
public static void main(String args[]){
int sum = 0;
for(int i=0; i<20; i++){
sum +=i;
if(i%4 == 0){
break;
}
}
System.out.println(sum);
}
}
A :0
B:210
C:10
D:50
第一次循环时,i=0,sum+=i,sum=0,i%4=0,执行break,直接跳出循环。sum=0
并发操作会带来哪些数据不一致性:丢失修改、不可重复读、脏读