void KbdFunc( void ) /* Dispatch and count threads. */
{
int KeyInfo; do
{
KeyInfo = _getch();
if( tolower( KeyInfo ) == 'a' && ThreadNr < MAX_THREADS )
{
ThreadNr++;
_beginthread( BounceProc, 0, &ThreadNr );
WriteTitle( ThreadNr );
}
} while( tolower( KeyInfo ) != 'q' ); ShutDown();
}void BounceProc( char *MyID )
{
char MyCell, OldCell;
/* Set up "happy face" & generate color attribute from thread number.*/
if( *MyID > 16)
MyCell = 0x01; /* outline face */
else
MyCell = 0x02; /* solid face */
MyAttrib = *MyID & 0x0F; /* force black background */摘自MSDN上面的Sample Multithread C Program,就是不晓得MyID是怎样传进来的
{
int KeyInfo; do
{
KeyInfo = _getch();
if( tolower( KeyInfo ) == 'a' && ThreadNr < MAX_THREADS )
{
ThreadNr++;
_beginthread( BounceProc, 0, &ThreadNr );
WriteTitle( ThreadNr );
}
} while( tolower( KeyInfo ) != 'q' ); ShutDown();
}void BounceProc( char *MyID )
{
char MyCell, OldCell;
/* Set up "happy face" & generate color attribute from thread number.*/
if( *MyID > 16)
MyCell = 0x01; /* outline face */
else
MyCell = 0x02; /* solid face */
MyAttrib = *MyID & 0x0F; /* force black background */摘自MSDN上面的Sample Multithread C Program,就是不晓得MyID是怎样传进来的
&ThreadNr 这个就是 参数
void CPage3::LoadThumbImages()
{
TerminateThread();
m_hThread = (HANDLE)_beginthreadex(NULL,0, LoadThumbNail,(LPVOID)this,0/* CREATE_SUSPENDED*/,&m_dwThreadID);
m_bRunning = TRUE;
}unsigned __stdcall CPage3::LoadThumbNail(LPVOID lpParam)
{
CPage3* pThumbDlg = (CPage3*)lpParam;
//使用Dlg的成员变量
CListCtrl& ListCtrl = pThumbDlg->m_cThumbList;
CImageList* pImgList = &pThumbDlg->m_ImageListThumb;
}
_beginthread不适合在MFC环境下使用,如果用MFC 需要使用_beginthreadex或者AfxBeginThread来建立线程。