c十十編程教學(xué) C#使用線程池設(shè)置每個(gè)線程的執(zhí)行時(shí)間,怎樣設(shè)置結(jié)束時(shí)間?
C#使用線程池設(shè)置每個(gè)線程的執(zhí)行時(shí)間,怎樣設(shè)置結(jié)束時(shí)間?改用thread來驅(qū)動這個(gè)方法先建一個(gè)類下面的成員,來存放進(jìn)程List<Thread> pool = new List<Thread
C#使用線程池設(shè)置每個(gè)線程的執(zhí)行時(shí)間,怎樣設(shè)置結(jié)束時(shí)間?
改用thread來驅(qū)動這個(gè)方法先建一個(gè)類下面的成員,來存放進(jìn)程List<Thread> pool = new List<Thread>()在需要啟動你的方法的時(shí)候建進(jìn)城Thread t = new Thread(new ThreadStart(getHtmlContent))pool.Add(t)t.Start()給類加一個(gè)TimerSystem.Timers.Timer timer = new Timer()timer.Interval = 30000timer.Elasped = new EventHandler(this. timerElapsed)timer.Enabled = truetimer.Start()然后增加timer的事件處理private void timerElapsed(object sender, EvenArgs e){ //終止進(jìn)程 foreach(Thread t in pool) if(t != null && t.IsAlive) if(!t.Join(5)) t.Abort()}
C語言如何終止線程?
終止線程有三種方法:1.線程可以在自身內(nèi)部調(diào)用AfxEndThread()來終止自身的運(yùn)行2.可以在線程的外部調(diào)用BOOL TerminateThread( HANDLE hThread, DWORD dwExitCode )來強(qiáng)行終止一個(gè)線程的運(yùn)行,然后調(diào)用CloseHandle()函數(shù)釋放線程所占用的堆棧3.第三種方法是改變?nèi)肿兞?,使線程的執(zhí)行函數(shù)返回,則該線程終止。unsigned long __cdecl _beginthread (void (__cdecl *) (void *), unsigned, void *)void __cdecl _endthread(void)unsigned long __cdecl _beginthreadex(void *, unsigned, unsigned (__stdcall *) (void *), void *, unsigned, unsigned *)void __cdecl _endthreadex(unsigned)找到的一些資料,希望有點(diǎn)幫助,要不你代碼貼點(diǎn)出來