操作系统第一次实验报告_操作系统临界区问题.docxVIP

  • 16
  • 0
  • 约3.84千字
  • 约 7页
  • 2017-01-01 发布于重庆
  • 举报

操作系统第一次实验报告_操作系统临界区问题.docx

操作系统第一次实验报告_操作系统临界区问题

操作系统临界区问题一、实验目的本实验讨论临界区问题及其解决方案。实验首先创建两个共享数据资源的并发线程。在没有同步控制机制的情况下,我们将看到某些异常现象。针对观察到的现象,本实验采用两套解决方案:? 利用Windows 的mutex 机制? 采用软件方案然后比较这两种方案的性能优劣。二、实验步骤1、制造混乱Windows 操作系统支持抢先式调度,这意味着一线程运行一段时间后,操作系统会暂停其运行并启动另一线程。也就是说,进程内的所有线程会以不可预知的步调并发执行。为了制造混乱,我们首先创建两个线程t1 和t2。父线程(主线程)定义两个全局变量,比如accnt1 和accnt2。每个变量表示一个银行账户,其值表示该账户的存款余额,初始值为0。线程模拟在两个账户之间进行转账的交易。也即,每个线程首先读取两个账户的余额,然后产生一个随机数r,在其中一个账户上减去该数,在另一个账户上加上该数。代码如下:#includestdio.h#includestdlib.h#includewindows.hint accnt1=0;int accnt2=0;double begin=0;double end=0;double time=0;int a=1;//HANDLE hMutex=CreateMutex(NULL,FALSE,NULL);DWORD WINAPI run(LPVOID p)

文档评论(0)

1亿VIP精品文档

相关文档