亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 讀者與寫者dlg.cpp

?? 操作系統進程同步與互斥讀者與寫者問題部分源碼
?? CPP
字號:
// 讀者與寫者Dlg.cpp : implementation file
//

#include "stdafx.h"
#include "讀者與寫者.h"
#include "讀者與寫者Dlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyDlg dialog

CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMyDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMyDlg)
	m_e1 = _T("當前沒有任何請求");
	m_e2 = 0;
	m_e3 = 0;
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

	mutex=flag1=flag2=false;
	ReadCount=0;
}

void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMyDlg)
	DDX_Text(pDX, IDC_EDIT1, m_e1);
	DDX_Text(pDX, IDC_EDIT2, m_e2);
	DDX_Text(pDX, IDC_EDIT3, m_e3);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
	//{{AFX_MSG_MAP(CMyDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BUTTON1, OnSZ)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_BUTTON3, OnDZ)
	ON_BN_CLICKED(IDC_BUTTON2, OnTC)
	ON_BN_CLICKED(IDC_BUTTON4, OnGY)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyDlg message handlers

BOOL CMyDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CMyDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CMyDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CMyDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CMyDlg::OnSZ() 
{
	// TODO: Add your control notification handler code here
   	this->UpdateData();
	if(flag1==true&&m_e2==1)
			{
	        	this->MessageBox("寫--寫互斥","提醒",MB_OK);
			
			}
	else 
		if(flag2=true&&m_e3>0)
		{
			this->MessageBox("寫--讀互斥","提醒",MB_OK);
		}

	else
  
       if(mutex==false&&m_e2==0)
	   {
		   mutex=true;
		   m_e2=1;
	       flag1=true;
		   m_e1=_T("寫者正在訪問");

    	CProgressCtrl *p;
    	p=(CProgressCtrl *)GetDlgItem(IDC_PROGRESS1);
    	p->ShowWindow(SW_SHOW);
    	p->SetRange(0,10);
    	p->SetPos(0);
    	SetTimer(0,300,NULL);
    
	   }
 


	this->UpdateData(false);
	
}

void CMyDlg::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	int n;
	CProgressCtrl *p;
	if(flag1==true)
	{
    	p=(CProgressCtrl *)GetDlgItem(IDC_PROGRESS1);
	}
	else
		if(flag2=true)
		{
		if(m_e3%10==1)
			{
	           p=(CProgressCtrl *)GetDlgItem(IDC_PROGRESS2);
			}
			else if(m_e3%10==2)
			{
				p=(CProgressCtrl *)GetDlgItem(IDC_PROGRESS3);
			}
			else if(m_e3%10==3)
			{
				p=(CProgressCtrl *)GetDlgItem(IDC_PROGRESS4);
			}
			else if(m_e3%10==4)
			{
				p=(CProgressCtrl *)GetDlgItem(IDC_PROGRESS5);
			}
		}

	n=p->GetPos();
	n++;
	
	if(n>10)

	{
		
		n=10;
		if(mutex==true&&m_e2==1)
		{

		m_e2=0;
        mutex=false;
        flag1=false;
		m_e1 = _T("寫者已完成,當前沒有任何請求");
		this->KillTimer(0);

		this->UpdateData(false);
		}

		else 
			if(flag2==true)
			{
				m_e3--;
				
				CWnd  *b;
				b=GetDlgItem(IDC_BUTTON3);
				b->EnableWindow(true);
				if(m_e3==0)
				{
					mutex=false;
                    flag2=false;
				
                    m_e1 = _T("讀者已完成,當前沒有任何請求");
		            this->KillTimer(1);
					this->KillTimer(2);
					this->KillTimer(3);
					this->KillTimer(4);
				}
				this->UpdateData(false);

			}
			
				
		p->ShowWindow(SW_HIDE);
		
	}

	p->SetPos(n);  


	
	CDialog::OnTimer(nIDEvent);
}

void CMyDlg::OnDZ() 
{
	// TODO: Add your control notification handler code here

    flag2=true;
	mutex=true;
	this->UpdateData();
	m_e3++;
	m_e1=_T("讀者正在使用");

	if(flag1==true)
		{
	       	this->MessageBox("讀--寫互斥","提醒",MB_OK);
			m_e3=0;
			this->KillTimer(4);
				    
		}
    else
		if(flag2==true)
		{
        	CProgressCtrl *p;
			
			if(m_e3==4)
			{
				CWnd  *b;
				b=GetDlgItem(IDC_BUTTON3);
				b->EnableWindow(false);
			}	
				
			if(m_e3%10==1)
			{
	           p=(CProgressCtrl *)GetDlgItem(IDC_PROGRESS2);
			   p->ShowWindow(SW_SHOW);
        	p->SetRange(0,10);
        	p->SetPos(0);
        	SetTimer(1,300,NULL);
        
			}
			else if(m_e3%10==2)
			{
				p=(CProgressCtrl *)GetDlgItem(IDC_PROGRESS3);
				p->ShowWindow(SW_SHOW);
        	p->SetRange(0,10);
        	p->SetPos(0);
        	SetTimer(2,300,NULL);
        
			}
			else if(m_e3%10==3)
			{
				p=(CProgressCtrl *)GetDlgItem(IDC_PROGRESS4);
				p->ShowWindow(SW_SHOW);
        	p->SetRange(0,10);
        	p->SetPos(0);
        	SetTimer(3,300,NULL);
        	
			}
			else if(m_e3%10==4)
			{
				p=(CProgressCtrl *)GetDlgItem(IDC_PROGRESS5);
				p->ShowWindow(SW_SHOW);
        	    p->SetRange(0,10);
        	    p->SetPos(0);
        	    SetTimer(4,300,NULL);
        	    
			}

        
		}

	this->UpdateData(false);

	
}

void CMyDlg::OnTC() 
{
	// TODO: Add your control notification handler code here
	this->OnCancel();
	
}

void CMyDlg::OnGY() 
{
	// TODO: Add your control notification handler code here
	CAboutDlg  dlg;
	dlg.DoModal();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99re在线精品| 成人激情图片网| 亚洲国产精品久久久久婷婷884 | 欧美视频一区二区三区| 99久久99久久免费精品蜜臀| 成人一区二区三区视频在线观看| 国产精品正在播放| 国产91高潮流白浆在线麻豆| 国产精品一区不卡| zzijzzij亚洲日本少妇熟睡| av爱爱亚洲一区| 欧美伊人精品成人久久综合97 | 欧美三级乱人伦电影| 欧美亚洲一区三区| 欧美日本一区二区三区| 日韩欧美激情四射| 日本一区免费视频| 玉米视频成人免费看| 亚洲成人一区在线| 男女视频一区二区| 国产精品一区二区在线观看不卡| 国产91清纯白嫩初高中在线观看| 99久久婷婷国产精品综合| 在线免费观看视频一区| 日韩一区二区麻豆国产| 国产色一区二区| 一区二区三区日韩精品视频| 香蕉久久夜色精品国产使用方法| 人人超碰91尤物精品国产| 国产成人精品亚洲午夜麻豆| 色狠狠综合天天综合综合| 欧美日韩高清一区二区不卡| 欧美一级搡bbbb搡bbbb| 中文字幕欧美激情| 日韩和欧美的一区| 不卡视频一二三四| 精品日本一线二线三线不卡| 日韩一区欧美一区| 精品午夜一区二区三区在线观看| 成人高清伦理免费影院在线观看| 欧美丰满嫩嫩电影| 中文字幕一区二区三区在线观看| 日韩精品成人一区二区在线| av不卡免费在线观看| 日韩一级成人av| 香港成人在线视频| 亚洲午夜日本在线观看| 国产一区二区在线观看免费| 国产一区二区三区电影在线观看| 久久久久久久综合色一本| 成人黄色a**站在线观看| 精彩视频一区二区三区 | 国产老妇另类xxxxx| 久久久精品天堂| 99在线热播精品免费| 亚洲一区二区偷拍精品| 91精品欧美福利在线观看| 国产一区三区三区| 亚洲视频一区二区免费在线观看| 欧美揉bbbbb揉bbbbb| 极品少妇xxxx精品少妇偷拍| 国产欧美精品一区二区色综合朱莉| 99久久综合国产精品| 亚洲国产精品一区二区久久| 欧美大片免费久久精品三p| 国产激情91久久精品导航 | 国产.欧美.日韩| 亚洲人精品午夜| 91精品国产高清一区二区三区| 国产精品一区专区| 亚洲国产日韩在线一区模特| 久久综合av免费| 欧美日韩一二三| 国产精品996| 日韩成人一级片| 中文字幕乱码一区二区免费| 777欧美精品| 97久久久精品综合88久久| 日韩激情中文字幕| 综合欧美亚洲日本| 欧美v亚洲v综合ⅴ国产v| 99精品国产视频| 精品一区二区三区的国产在线播放| 亚洲人成影院在线观看| www国产精品av| 欧美日韩综合在线| 99视频有精品| 国产福利精品导航| 久久爱另类一区二区小说| 一区二区三区四区不卡在线 | 日韩欧美国产一区二区三区| 97se狠狠狠综合亚洲狠狠| 激情综合五月婷婷| 婷婷开心激情综合| 亚洲精品国产精品乱码不99| 国产欧美一区二区精品秋霞影院 | 全国精品久久少妇| 亚洲成a人片综合在线| 亚洲免费观看在线观看| 国产精品素人视频| 久久久三级国产网站| 欧美tickling网站挠脚心| 欧美精品欧美精品系列| 在线看不卡av| 91麻豆国产精品久久| 91天堂素人约啪| 色综合久久久网| 91丨九色丨尤物| 91在线观看成人| 99在线视频精品| 91原创在线视频| 色天使色偷偷av一区二区| 91麻豆自制传媒国产之光| 成人黄动漫网站免费app| 成人午夜视频福利| 成人福利电影精品一区二区在线观看| 国产不卡在线一区| 成年人国产精品| www.久久久久久久久| 国产黄色91视频| av电影天堂一区二区在线观看| 成人久久18免费网站麻豆| 床上的激情91.| 91网址在线看| 欧美日韩精品一区视频| 欧美伦理视频网站| 欧美大尺度电影在线| 久久久影院官网| 国产精品麻豆一区二区| 亚洲欧美日韩在线播放| 天天综合网 天天综合色| 日本亚洲免费观看| 国产精品456| 日本韩国欧美一区二区三区| 欧美亚洲国产一区二区三区va| 欧美福利视频一区| 国产日韩欧美综合一区| 中文在线资源观看网站视频免费不卡| 中文字幕亚洲不卡| 亚洲成人在线网站| 精品一区二区三区在线观看 | 久久精品国产久精国产爱| 国内欧美视频一区二区| 国产91色综合久久免费分享| 欧洲激情一区二区| 日韩一级片网址| 国产精品国产三级国产| 丝袜亚洲精品中文字幕一区| 国产一区久久久| 在线这里只有精品| 精品人在线二区三区| 亚洲精品国久久99热| 久久er精品视频| 91免费版pro下载短视频| 精品日韩在线一区| 亚洲精品乱码久久久久久| 精品中文字幕一区二区| 91原创在线视频| 精品国产第一区二区三区观看体验 | 国产精品蜜臀av| 亚洲成人动漫av| 91在线国内视频| 欧美tk丨vk视频| 亚洲国产精品久久一线不卡| 国产不卡免费视频| 欧美日韩国产综合一区二区 | 一区二区三区在线高清| 国产一区二区三区免费| 欧美妇女性影城| 亚洲综合色在线| 成人免费黄色大片| 精品久久人人做人人爰| 亚洲午夜电影在线| 成人av网站在线| 国产亚洲污的网站| 久久99国产精品麻豆| 欧美日韩国产片| 一区二区三区日韩精品| 成年人午夜久久久| 久久综合丝袜日本网| 蜜桃视频一区二区三区| 欧美日韩一区二区三区免费看| 亚洲丝袜自拍清纯另类| 成人听书哪个软件好| 久久精品无码一区二区三区| 蜜桃av一区二区在线观看| 在线91免费看| 亚洲国产精品久久久久秋霞影院| 91在线你懂得| 亚洲精品免费看| 色综合一个色综合亚洲| 国产精品午夜电影| 国产福利不卡视频| 26uuu亚洲| 国产一区二区成人久久免费影院| 日韩欧美国产wwwww| 麻豆精品一区二区av白丝在线| 欧美一级二级三级乱码| 免费在线观看不卡| 精品日韩成人av|