操作系统课程设计(江苏大学2012最新版)(2)

2019-03-23 14:39

}

WaitForSingleObject(mutex,INFINITE);//p(&mutex) number++; int temp=number;

cout<<\顾客\<

cout<<\顾客\<

ReleaseSemaphore(seat,1,NULL);//v(&seat)

cout<<\顾客\<

WaitForSingleObject(s1,INFINITE);//p(&s1)

DWORD WINAPI consumer2(PVOID c2pv)//顾客对公线程代码 { }

int main(void)//主程序 {//创建信号量和线程

cout<<\顾客您好,欢迎来到我行,很高兴为您服务!\<

for(n=0;n

WaitForSingleObject(seat,INFINITE);//p(&seat) WaitForSingleObject(mutex,INFINITE);//p(&mutex) number++; int temp=number;

cout<<\顾客\<

cout<<\顾客\<

ReleaseSemaphore(seat,1,NULL);//v(&seat)

cout<<\顾客\<

WaitForSingleObject(s2,INFINITE);//p(&s2)

}

ss1[n]=CreateThread(NULL,0,server1,NULL,0,NULL); ss2[n]=CreateThread(NULL,0,server2,NULL,0,NULL);

for(n=0;n

srand( (unsigned)time( NULL ) ); n=0;n1=0;

for(;number

Sleep(20000);

cout<<\银行结束服务,祝您愉快!\<

int m=rand()%CUSTOMER_COMING_TIME; Sleep(m); int i=rand()%2; if(i==0) { } else { }

c2[n1]=CreateThread(NULL,0,consumer2,NULL,0,NULL); n1++;

c1[n]=CreateThread(NULL,0,consumer1,NULL,0,NULL); n++;

七、实验结果及程序分析

1、实验结果:

(中间部分省略)

2、结果分析:

当顾客来了,首先查看是否有桌位,有桌位就去取号,取完号之后等

待服务,当营业员叫号以后开始被服务,服务完了之后离开。当所有线程执行完了之后程序结束。由于线程之间的同步执行,导致输出有点重叠。

八、课设总结

课程设计是一项复杂的工作,在程序设计的过程中,许多我们认为应该是正确的代码,往往不能运行我们想要的结果。这就需要我们的耐心与细心,去纠正任何一个可能的细小错误。此次操作系统课程设计,在指导教师的精心教导下,我们学会了如何采用系统调用中的信号量、P、V操作,编程解决银行窗口服务的功能。在编程的过程中,首先我们要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。计算机是一台聪明又笨拙的机器,只有我们的代码完全正确时,它才能准确地运行。

总的来说,通过这次课程设计,我将所学到的知识运用到了实践中,虽然在设计过程中遇到很大的困难,但是在老师和同学的

帮助下我克服了很多困难,并且最终获得了成功。从程序设计的过程中,我熟悉了 VC6.0 的运行环境,也熟悉了 Windows2000 的操作系统,学到了很多的知识,这些都令我受益匪浅。因此,在以后的

学习中,我可以学会自己编写一些类似的简单程序,将学到的东西加以实际的运用。


操作系统课程设计(江苏大学2012最新版)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:记叙文阅读之(四)八种修辞方法及其作用

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: