2

_beginthreadex MSDN页面上有这个功能:

unsigned __stdcall SecondThreadFunc( void* pArguments )
{
    printf( "In second thread...\n" );

    while ( Counter < 1000000 )
    Counter++;

    _endthreadex( 0 );
    return 0;
}

我知道你可以通过_endthreadex函数获取返回的值GetExitCodeThread,但是如何获取返回的值return呢?

另一个问题:没有_endthreadex结束线程,为什么他们return 0在那之后放了一个?

4

2 回答 2

1

在这个片段中,该return语句确实只是为了让编译器高兴。但是,实际上,您不需要调用_endthreadex它,因为它是_beginthreadex在您从线程函数返回后在内部调用的。并将您的返回值传递给_endthreadex(或ExitThread,从它)。

Raymond Chen 的文章

于 2018-07-20T15:51:21.783 回答
0

return 0是否只是为了让编译器开心。_endthreadex不返回。

于 2010-12-01T08:33:14.157 回答