• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
               

            1CM

              

            線程中傳遞變量的問(wèn)題

            線程中傳遞變量的問(wèn)題
                初次寫多線程編程的時(shí)候,初學(xué)者很容易犯的錯(cuò)就是給線程傳遞變量的時(shí)候經(jīng)常出錯(cuò),
            因?yàn)榫€程中被傳遞的變量的類型不同,其效果也不一樣。經(jīng)常采用的是分配新的內(nèi)存給變
            量,傳遞這個(gè)新分配的內(nèi)存地址,因?yàn)橥粋€(gè)變量名,但是指向的內(nèi)存段不同,這樣能實(shí)
            現(xiàn)正確地給多線程傳遞變量,注意的是在每一個(gè)線程結(jié)束的時(shí)候一定要把這個(gè)分配的內(nèi)存
            釋放。
                HANDLE mt[1000];
                for(int i=0;i<50;i++)
                {
                    pTI pti = new TI;
                    pti->pDlg = this;
                    pti->id = i;
                    pti->me = pti; //把自身的指針帶過(guò)去

                    pClockThread[i] = AfxBeginThread(ClockThread,pti);
                    mt[i] = pClockThread[i]->m_hThread;
                    ResumeThread(pClockThread[i]->m_hThread);
                }

                DWORD dw = WaitForMultipleObjects(3,mt,TRUE,INFINITE);

            UINT ClockThread( LPVOID pParam )
            {
                pTI pti;
                pti =(pTI) pParam;
                CClockDlg *pDlg = (CClockDlg *)pti->pDlg;
                CString str;
                str.Format("log%02d.txt",pti->id);
                FILE *fp;
                fp = fopen(str,"wb");
                for(int m=0;m<100;m++)
                {
                    CTime t = CTime::GetCurrentTime();
                    str.Format("id = %02d  %02d:%02d.%02d",pti->id,t.GetHour(),t.GetMinute(),t.GetSecond());
                    fwrite(str+"\r\n",1,str.GetLength()+2,fp);

                    CDC *pDC = pti->pDlg->GetDC();
                    if(pDC)
                    {
                        pDC->TextOut(20,pti->id*16,str);
                        pDlg->ReleaseDC(pDC);
                    }
                    Sleep(100);
                }
                fclose(fp);
                delete pti->me;//釋放內(nèi)存
                AfxEndThread(0,TRUE);
                return 0;
            }

            posted on 2007-05-31 18:07 1CM 閱讀(257) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            亚洲AV日韩精品久久久久久| 一本色道久久88精品综合| 亚洲熟妇无码另类久久久| 久久亚洲国产精品成人AV秋霞| 国产精品成人99久久久久 | 久久香蕉国产线看观看精品yw | 国产巨作麻豆欧美亚洲综合久久| 精品蜜臀久久久久99网站| 四虎国产精品免费久久5151| 91精品免费久久久久久久久| 久久精品99久久香蕉国产色戒 | 亚洲国产另类久久久精品| 精品无码久久久久国产| 久久久久久国产精品无码下载| 欧洲成人午夜精品无码区久久| 久久99毛片免费观看不卡| 狠色狠色狠狠色综合久久 | 久久受www免费人成_看片中文| 久久精品免费观看| 欧美亚洲色综久久精品国产| 亚洲第一永久AV网站久久精品男人的天堂AV | 中文字幕日本人妻久久久免费 | 天天影视色香欲综合久久| 精品999久久久久久中文字幕| 亚洲精品高清国产一线久久| 青青久久精品国产免费看| 亚洲精品乱码久久久久久蜜桃| 99久久成人国产精品免费| 天天爽天天爽天天片a久久网| MM131亚洲国产美女久久| 久久久国产精品福利免费| 久久国产精品一区二区| 97久久精品人妻人人搡人人玩 | 国产精品欧美久久久久无广告 | 2021国产成人精品久久| 久久久久18| 无码国产69精品久久久久网站| 人妻无码久久一区二区三区免费| 久久综合久久综合久久| 亚洲另类欧美综合久久图片区| 久久国产精品成人影院|