(一)实验目的
1.进一步理解临界资源的概念;
2.把握在多个进程并发执行过程中对临界资源访问时的必要约束条件;
3.理解操作系统原理中“互斥”的涵义。
(二)实验内容
利用高级程序设计语言编程,模拟进程之间对临界资源的互斥访问过程。(要求:进程数目不少于 3 个)
1.进一步理解临界资源的概念;
2.把握在多个进程并发执行过程中对临界资源访问时的必要约束条件;
3.理解操作系统原理中“互斥”的涵义。
(二)实验内容
利用高级程序设计语言编程,模拟进程之间对临界资源的互斥访问过程。(要求:进程数目不少于 3 个)
解决方案 »
- java面试题
- 有个stack有方法push,pop,size,isEmpay,写出一个queue
- 问个很愚蠢的问题
- 请问ejb怎么实现远程数据登陆
- 再简单不过了! 但为什么打不印不出矩阵?
- 请问这个是不是弃用了,现在是用什么方法??
- [ODBC Microsoft Access Driver] 参数不足,期待是 1是什么方面的错误?
- indexOf()小问题求教
- java中访问c中的动态连接库dll的问题
- 请问Java能否调用Windows的Dll?
- Windows本地的图形界面与Java层如何交互?
- 请问各位大哥大姐,有什么 方法 把页面上的内容保存为 execl 格式? 谢谢,分不够再加!
{
public static void main(String args[])
{
int n=1; //是临界资源;
primeThread p1=new primeThread(n);
primeThread p2=new primeThread(n);
primeThread p3=new primeThread(n);
p1.start();
p2.start();
p3.start();
}
}
class primeThread extends Thread
{
int flag;
primeThread(int Num)
{
flag=Num;
}
public void run()
{
while(true)
if(flag==1)
{
flag=flag-1;
System.out.println(""+Thread.currentThread()+":"+flag);
flag=flag+1;
}
}
}
public class T
{
public static void main(String args[])throws Exception
{
int n=1; //是临界资源;
primeThread p1=new primeThread();
primeThread p2=new primeThread();
primeThread p3=new primeThread();
p1.start();
//Thread.sleep(5);
p2.start();
p3.start();
}
}
class primeThread extends Thread
{
int flag=1;
/*primeThread(int Num)
{
flag=Num;
}*/
public void run()
{
while(true)
{
if(flag==1)
{
flag=flag-1;
System.out.println(""+Thread.currentThread()+":"+flag);
flag=flag+1;
}
}
}
}