为什么代码可以运行??


#include <windows.h>
#include <process.h>
#include<iostream>
#include<stdio.h>
#define NUM_THREAD 50
unsigned WINAPI threadInc(void* arg);
unsigned WINAPI threadDes(void* arg);
HANDLE hEvent;
int main(int argc, char* argv[])
{
    HANDLE Handles[2]{};
    int i;
    hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
       
    Handles[0] = (HANDLE)_beginthreadex(NULL, 0, threadInc, NULL, 0,
        NULL);
         
    Handles[1] = (HANDLE)_beginthreadex(NULL, 0, threadDes, NULL, 0,
                NULL);
     
    WaitForMultipleObjects(NUM_THREAD, Handles, TRUE, INFINITE);
    CloseHandle(hEvent);
    system("pause");
    return 0;
}
unsigned WINAPI threadInc(void* arg)
{
    for (int j=0;j<2;j++)
    {
        int i;
        std::cout << "我是猪" << std::endl;
        WaitForSingleObject(hEvent, INFINITE);
        for (int i = 0; i < 2; i++)
        {
            std::cout << "我是猪22" << std::endl;
        }
        SetEvent(hEvent);
    }    
    return 0;
}
unsigned WINAPI threadDes(void* arg)
{
    for (int j=0;j<2;j++)
    {
        int i;
        std::cout << "woshizhu" << std::endl;
        WaitForSingleObject(hEvent, INFINITE);
        for (int i = 0; i < 2; i++)
        {
            std::cout << "woshizhu33" << std::endl;
        }
         SetEvent(hEvent);
    }
    return 0;
}
为什么这里的代码可以执行呢?我的结果还成功输出了,我是x等字样

这输出 很正常呀 ,你为啥认为不能输出呢?