2012-09-15 30 views
0

我正在創建一個用戶定義的線程庫。我使用Round-Robin調度算法並使用context switching方法。但是,當線程在分配的time slot之前完成執行時,我無法知道該怎麼做。該程序正在終止。我實際上想重新安排所有線程,噹噹前線程終止時調用schedule函數。當前線程終止後如何安排?

我找到了兩種方法來解決這個問題。

  1. 通過在當前線程正在執行的函數末尾顯式調用thread_exit函數。
  2. 通過更改stack contents,使thread_exit函數在當前函數終止後執行。

但我無法找到如何應用這些解決方案.... 人在那裏... plz幫助我...

回答

0

這聽起來像你有一個位設計缺陷的。如果我正確地理解了你,你試圖實現一個解決方案,你可以分配線程來執行一些任務,任務完成後,線程將空閒,等待下一個任務。

如果這是真的,我想我會設計一些守護進程或服務來管理進入任務的隊列,負責使用監聽新任務的控制器執行任務的線程池。

+0

不...那樣...我想實現一個模仿pthread庫的線程庫... – nitish712