| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 614 人关注过本帖
标题:多线程 调用自动事件对象失败
取消只看楼主 加入收藏
蓝色的blue
Rank: 1
等 级:新手上路
帖 子:35
专家分:7
注 册:2013-10-19
结帖率:54.55%
收藏
已结贴  问题点数:19 回复次数:3 
多线程 调用自动事件对象失败
#include<iostream>
#include<windows.h>
using std::cout;
DWORD WINAPI fun1(LPVOID lpParameter);
DWORD WINAPI fun2(LPVOID lpParameter);
int ticket=100;
//HANDLE hMutex;
HANDLE g_hEvent;
int main()
{
    HANDLE hTreadl,hTread2;
    g_hEvent=CreateEvent(NULL,FALSE,FALSE,"tickets");
    if(g_hEvent)
    {
        if(ERROR_ALREADY_EXISTS==GetLastError())
        {
            cout<<"only one instance can run\n";
            return 0;
        }
    }
    hTreadl=CreateThread(NULL,0,fun1,NULL,0,NULL);
    hTread2=CreateThread(NULL,0,fun2,NULL,0,NULL);
    CloseHandle(hTreadl);
    CloseHandle(hTread2);
    Sleep(4000);
    CloseHandle(g_hEvent);
    return 0;
}
DWORD WINAPI fun1(LPVOID lpParameter)
{
    while(1)
    {
        WaitForSingleObject(g_hEvent,INFINITE);
        if(ticket>0)
        {
            cout<<"thread1 sell ticket:"<<ticket--<<std::endl;
            SetEvent(g_hEvent);
        }
        else
        {
            SetEvent(g_hEvent);
            break;
        }
        //ReleaseMutex(hMutex);
    }
    return 0;
}
DWORD WINAPI fun2(LPVOID lpParameter)
{
    while(1)
    {
        WaitForSingleObject(g_hEvent,INFINITE);
        if(ticket>0)
        {
            cout<<"thread2 sell ticket:"<<ticket--<<std::endl;
            SetEvent(g_hEvent);
        }
        else
        {
            SetEvent(g_hEvent);
            break;
        }
        //ReleaseMutex(hMutex);
    }
    return 0;
}
//
//
//大神能看看我的代码 为什么执行到WaitForSingleObject(g_hEvent,INFINITE);不往下执行了???
搜索更多相关主题的帖子: include return 多线程 
2015-02-10 17:35
蓝色的blue
Rank: 1
等 级:新手上路
帖 子:35
专家分:7
注 册:2013-10-19
收藏
得分:0 
回复 2楼 天使梦魔
课时线程函数1不应该接受不到信号的,,也就是那个wait 的接受函数不应该阻塞的

低调的卓越.........
2015-02-13 20:47
蓝色的blue
Rank: 1
等 级:新手上路
帖 子:35
专家分:7
注 册:2013-10-19
收藏
得分:0 
回复 2楼 天使梦魔
大神你可以把代码复制下来运行看看。。那个线程函数总是不能执行

低调的卓越.........
2015-02-13 20:50
蓝色的blue
Rank: 1
等 级:新手上路
帖 子:35
专家分:7
注 册:2013-10-19
收藏
得分:0 
回复 5楼 天使梦魔
抱歉抱歉 ,,我是新手,,祝你新年快乐

低调的卓越.........
2015-02-17 23:07
快速回复:多线程 调用自动事件对象失败
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017131 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved