zoukankan      html  css  js  c++  java
  • MFC 多线程

    #include <windows.h>
    #include <iostream.h>

    DWORD WINAPI Fun1Proc(
    LPVOID lpParameter // thread data
    );

    DWORD WINAPI Fun2Proc(
    LPVOID lpParameter // thread data
    );
    int index=0;
    int tickets=100;
    HANDLE hMutex;
    void main()
    {
    HANDLE hThread1;
    HANDLE hThread2;
    // hMutex=CreateMutex(NULL,TRUE,NULL);
    hMutex=CreateMutex(NULL,TRUE,"tickets");

    hThread1=CreateThread(NULL,0,Fun1Proc,NULL,0,NULL);
    hThread2=CreateThread(NULL,0,Fun2Proc,NULL,0,NULL);
    CloseHandle(hThread1);                           //这是很有必要的。这并不是说杀掉了这个进程,只是在主进程中不再引用它。
    CloseHandle(hThread2);

    if(hMutex)
    {
    if(ERROR_ALREADY_EXISTS==GetLastError())
    {
    cout<<"only one instance can run!"<<endl;
    return;
    }
    }
    WaitForSingleObject(hMutex,INFINITE);
    ReleaseMutex(hMutex);
    ReleaseMutex(hMutex);

    Sleep(4000);
    }

    DWORD WINAPI Fun1Proc(
    LPVOID lpParameter // thread data
    )
    {
    /* while(TRUE)
    {
    WaitForSingleObject(hMutex,INFINITE);
    if(tickets>0)
    {
    Sleep(1);
    cout<<"thread1 sell ticket : "<<tickets--<<endl;
    }
    else
    break;
    ReleaseMutex(hMutex);
    }
    */
    WaitForSingleObject(hMutex,INFINITE);
    cout<<"thread1 is running"<<endl;

    return 0;
    }

    DWORD WINAPI Fun2Proc(
    LPVOID lpParameter // thread data
    )
    {
    /* while(TRUE)
    {
    WaitForSingleObject(hMutex,INFINITE);
    if(tickets>0)
    {
    Sleep(1);
    cout<<"thread2 sell ticket : "<<tickets--<<endl;
    }
    else
    break;
    ReleaseMutex(hMutex);
    }

    */
    WaitForSingleObject(hMutex,INFINITE);
    cout<<"thread2 is running"<<endl;
    return 0;
    }

  • 相关阅读:
    Yahoo军规
    简单无序列表
    PS切图基本操作
    Web Service 系列 → 智能升级也简单(用Web Services制作升级程序)
    PHP 模板引擎 Smarty
    C# 哈希表(Hashtable)
    ASP.NET 备份与恢复ACCESS数据库
    开源的C#组件 RSS.NET
    Discuz!NT 的URL地址重写(URLRewrite)
    C# SquishIt JavaScript、CSS压缩器
  • 原文地址:https://www.cnblogs.com/wangjiyuan/p/mfc1.html
Copyright © 2011-2022 走看看