• 大小: 2.37MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-15
  • 语言: 其他
  • 标签: 多线程  

资源简介

在Windows 2000 环境下,创建一个包含n 个线程的控制台进程。用这n 个线程来表示n个读者或写者。每个线程按相应测试数据文件的要求,进行读写操作。请用信号量机制分别实现读者优先和写者优先的读者-写者问题。 读者优先:如果一个读者申请进行读操作时已有另一读者正在进行读操作,则该读者可直接开始读操作。 写者优先:如果一个读者申请进行读操作时已有另一写者在等待访问共享资源,则该读者必须等到没有写者处于等待状态后才能开始读操作。

资源截图

代码片段和文件信息

#include 
#include 
HANDLE h_Mutex;
//bool STOP=0;
//CRITICAL_SECTION RP;
const int maxwork = 100;
int workid =10;
DWORD _stdcall a1()
{
//OpenMutex(NULLTRUENULL);
// EnterCriticalSection(&RP);
/* while(STOP==1)
{

STOP=0;
cout<<1111< } */
for(; ;)
{
WaitForSingleobject(h_Mutex2000);
if(workid {
workid +=1;
Sleep(1000);
cout<<“Thread a1 out “< }
ReleaseMutex(h_Mutex);
}
}
DWORD _stdcall  a2()
{//cout<<2222< //OpenMutex(NULLfalseNULL);
for(; ;)
{
WaitForSingleobject(h_Mutex2000);
if(workid {
workid +=1;
Sleep(1000);
cout<<“Thread a2 out “< }
ReleaseMutex(h_Mutex);
}
}
void a3()
{
//OpenMutex(NULLfalseNULL);
cout<<3333<}
void main()
{
//int a[3]={463};//DWORD dwThreadID;
HANDLE handle1handle2;
//handle1=OpenMutex();
handle1=::CreateThread(NULLFALSE(LPTHREAD_START_ROUTINE)(a1)NULL0NULL);
handle2=::CreateThread(NULLFALSE(LPTHREAD_START_ROUTINE)(a2)NULL0NULL);

h_Mutex=CreateMutex(NULLFALSE“MUTEX“);
CloseHandle(handle1);
CloseHandle(handle2);
//*
while(true)
{
;system(“PAUSE“);
}
//*/
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      50176  2009-06-08 23:24  线程\线程.ncb

     文件     164864  2009-06-08 23:24  线程\Debug\vc60.idb

     文件      94208  2009-06-08 23:22  线程\Debug\vc60.pdb

     文件     648192  2009-06-08 23:22  线程\Debug\线程.pdb

     文件     213039  2009-05-30 12:51  线程\Debug\main.exe

     文件     566272  2009-05-30 12:51  线程\Debug\main.pdb

     文件     258376  2009-05-30 12:51  线程\Debug\main.ilk

     文件     349992  2009-06-08 23:24  线程\Debug\线程.ilk

     文件     253999  2009-06-08 23:24  线程\Debug\线程.exe

     文件    3617892  2009-06-08 22:11  线程\Debug\main.pch

     文件      17299  2009-06-08 22:11  线程\Debug\main.obj

     文件    3653324  2009-06-08 22:11  线程\Debug\线程.pch

     文件      26067  2009-06-08 23:24  线程\Debug\线程.obj

     文件        736  2009-06-08 23:24  线程\线程.plg

     文件      50176  2009-06-08 22:11  线程\main.ncb

     文件        646  2009-06-08 22:11  线程\main.plg

     文件       1258  2009-05-30 12:51  线程\main.cpp

     文件         43  2009-05-30 23:17  线程\1.txt

     文件       3377  2009-06-08 22:10  线程\main.dsp

     文件      48640  2009-06-08 22:11  线程\main.opt

     文件        516  2009-06-08 22:11  线程\main.dsw

     文件       3379  2009-06-08 22:45  线程\线程.dsp

     文件      48640  2009-06-08 23:24  线程\线程.opt

     文件        516  2009-06-08 23:24  线程\线程.dsw

     文件       4566  2009-06-09 11:39  线程\线程.cpp

     目录          0  2009-05-29 18:39  线程\Debug

     目录          0  2009-05-29 18:39  线程

----------- ---------  ---------- -----  ----

             10076193                    27



............此处省略0个文件信息

评论

共有 条评论