zoukankan      html  css  js  c++  java
  • 【MFC】 多线程互斥CMutex

    void  CMultiThread_MutexDlg::TestThreadMutex()
    {
       // CMutex g_clsMutex(FALSE,NULL);
    //    g_clsMutex=CMutex(FALSE,NULL);
         theApp.g_clsMutex=new CMutex(false,_T("abc"));
        AfxBeginThread(ThreadProc27,NULL);
    
        AfxBeginThread(ThreadProc28,NULL);
        Sleep(300);
        CString  sResult=CString(theApp.g_cArray);
        int  ll=sResult.GetLength();
        AfxMessageBox(sResult);
        delete theApp.g_clsMutex;
    }
    UINT  CMultiThread_MutexDlg::ThreadProc27(LPVOID pParam)
    {    
      theApp.g_clsMutex->Lock();
        for(int i=1;i<10;i++)
        {
             theApp.g_cArray[i]='a';
             Sleep(1);
        }
         theApp.g_clsMutex->Unlock();
         
        return 0;
    }
    UINT CMultiThread_MutexDlg::ThreadProc28(LPVOID pParam)
    {
         theApp.g_clsMutex->Lock();
        for(int i=0;i<1;i++)
        {
             theApp.g_cArray[i]='b';
             Sleep(1);
        }
         theApp.g_clsMutex->Unlock();
        return 0;
    }

    全局变量

    class CMultiThread_MutexApp : public CWinApp
    {
    public:
        CMultiThread_MutexApp();

    // 重写
    public:
        CMutex *g_clsMutex;
        char g_cArray[10];
        virtual BOOL InitInstance();

    // 实现

         DECLARE_MESSAGE_MAP()
    };

  • 相关阅读:
    面试
    二叉树- 二叉树直径
    排序算法
    JAVA编程
    JAVA编程
    JAVA中break和continue的区别
    HTTP的序列化和反序列化
    PL/SQL基础
    G. Game Design
    hdu 6703 array
  • 原文地址:https://www.cnblogs.com/marky/p/3921994.html
Copyright © 2011-2022 走看看