注册 登录
编程论坛 VC++/MFC

求大神帮忙多线程问题,我想如果对字符变量进行修改进程就结束,但是这段代码输出修改的字符然后一直输出字符a这时什么原因.?

w716169470 发布于 2013-12-16 11:12, 435 次点击
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
#include <windows.h>
 
DWORD WINAPI Fun1Proc(LPVOID lpParameter);
  
char tickets='a';


void main()
{
    HANDLE hThread1 = NULL;
   
    hThread1=CreateThread(NULL,0,Fun1Proc,NULL,0,NULL);

    tickets = getchar();
   
    CloseHandle(hThread1);
   
    Sleep(4000);
      
}

DWORD WINAPI Fun1Proc(LPVOID lpParameter)
{
    while (true)
    {
     
        if (tickets == 'a')
        {
            Sleep(1000);
            cout<<tickets<<endl;
        }
        else
        {
           break;
        }
    }
      
    return 0;
}
2 回复
#2
yuccn2013-12-16 15:46
你的循环 不是一直在输出a吗?还问为什么?
#3
w7161694702013-12-17 13:01
回复 2楼 yuccn
晕,我看成getch()。
1