About Thread 的疑問 Under Linux ? |
尚未結案
|
scott777
一般會員 發表:10 回覆:15 積分:5 註冊:2002-08-26 發送簡訊給我 |
在Main中
TVQ_THREAD_CONTROL thread_ctf; //New Thread TVQ_Thread *listen_thread = new TVQ_Thread(); //----------------------------------------------- TVQ_Thread *job_thread1 = new TVQ_Thread(); TVQ_Thread *job_thread2 = new TVQ_Thread(); TVQ_Thread *job_thread3 = new TVQ_Thread(); TVQ_Thread *job_thread4 = new TVQ_Thread(); TVQ_Thread *job_thread5 = new TVQ_Thread(); //----------------------------------------------- //TVQ_Thread *send_thread = new TVQ_Thread(); // Create Thread CreateListenThread(listen_thread,&thread_ctf); //----------------------------------------------- thread_ctf.us_ThreadID = 1; CreateJobThread(job_thread1,&thread_ctf); usleep(200); thread_ctf.us_ThreadID = 2; CreateJobThread(job_thread2,&thread_ctf); usleep(200); thread_ctf.us_ThreadID = 3; CreateJobThread(job_thread3,&thread_ctf); usleep(200); thread_ctf.us_ThreadID = 4; CreateJobThread(job_thread4,&thread_ctf); usleep(200); thread_ctf.us_ThreadID = 5; CreateJobThread(job_thread5,&thread_ctf); //----------------------------------------------------------------------------- bool CreateJobThread(TVQ_Thread *jb_thread,TVQ_THREAD_CONTROL *lock) { TVQ_THREAD_CONTROL *ctf = static_cast則會列出 Create Job Thread-1 Run Job thread-1 Create Job Thread-2 Run Job thread-2 Create Job Thread-3 Run Job thread-3 Create Job Thread-4 Run Job thread-4 Create Job Thread-5 Run Job thread-5 但是如果把usleep(200);拿掉 thread_ctf.us_ThreadID = 1; CreateJobThread(job_thread1,&thread_ctf); thread_ctf.us_ThreadID = 2; CreateJobThread(job_thread2,&thread_ctf); thread_ctf.us_ThreadID = 3; CreateJobThread(job_thread3,&thread_ctf); thread_ctf.us_ThreadID = 4; CreateJobThread(job_thread4,&thread_ctf); thread_ctf.us_ThreadID = 5; CreateJobThread(job_thread5,&thread_ctf);會變成 Create Job Thread-1 Create Job Thread-2 Create Job Thread-3 Create Job Thread-4 Create Job Thread-5 Run Job thread-5 Run Job thread-5 Run Job thread-5 Run Job thread-5 Run Job thread-5 似乎Thread一建立起來並不是馬上就執行的,這問題的癥結點在哪呢? 除了用usleep還有其他更好做法嗎? 因為用usleep程式啟動會慢一點點...... |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |