⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ctmutex.cpp

📁 这是c++编程方面的名著的例子代码
💻 CPP
字号:
#include <string.h>#include "ctmutex.h"#include <iostream.h>mutex::mutex(void){    if(DosCreateMutexSem(NULL,&Mutex,0,0)){       SemException.message("Could Not Create Mutex");       throw SemException;    }     Duration = SEM_INDEFINITE_WAIT;}mutex::~mutex(void){    if(DosCloseMutexSem(Mutex)){       SemException.message("Could Not Destroy Mutex");       throw SemException;    }}void mutex::lock(void){      DosRequestMutexSem(Mutex,Duration);}void mutex::unlock(void){    DosReleaseMutexSem(Mutex);}named_mutex::named_mutex(void){   if(DosCreateMutexSem(NULL,&Mutex,0,0)){       SemException.message("Could Not Create Mutex");       throw SemException;    }    Duration = SEM_INDEFINITE_WAIT;}named_mutex::named_mutex(char *MName,int Owned){    strcpy(MutexName,MName);    InitiallyOwned = Owned;    if(DosCreateMutexSem(MName,&Mutex,0,InitiallyOwned)){       SemException.message("Could Not Create Mutex");       throw SemException;    }    Duration = SEM_INDEFINITE_WAIT;}named_mutex::named_mutex(string MName){ unsigned long RC; strcpy(MutexName,MName.c_str());    InitiallyOwned = 0;    Mutex = (HMTX)NULL;    RC = DosOpenMutexSem(MutexName,&Mutex);    if(RC){       cout << RC << endl;       SemException.message("Could Not open Mutex");       throw SemException;    }    Duration = SEM_INDEFINITE_WAIT;
}unsigned long named_mutex::lockDuration(void){    return(Duration);}void named_mutex::lockDuration(unsigned long Dur)
{
    Duration = Dur;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -