3
A
回答
3
check if network drive exists with timeout in c#
https://web.archive.org/web/20140222210133/http://kossovsky.net/index.php/2009/07/csharp-how-to-limit-method-execution-time
異步模式:
public static T SafeLimex<T>(Func<T> F, int Timeout, out bool Completed)
{
var iar = F.BeginInvoke(null, new object());
if (iar.AsyncWaitHandle.WaitOne(Timeout))
{
Completed = true;
return F.EndInvoke(iar);
}
F.EndInvoke(iar); //not calling EndInvoke will result in a memory leak
Completed = false;
return default(T);
}
2
您應該在兩秒鐘內創建System.Threading.Timer,然後在另一個線程中運行您的方法,並等待它的回調,如果方法在定時器運行之前完成,則應該處理定時器,否則應該中止您的方法正在執行。例如,這是
using (new Timer(BreakFunction, true, TimeSpan.FromMinutes(2), Timeout.Infinite))
{
//TODO:here you should create another thread that will run your method
}
很簡單,在BreakFunction你應該中止運行你的方法
1
線程這將是很好的,如果你能找到它。我一直在尋找它。
我通常做的是在另一個Thread
開始方法,並在這種情況下開始Timer
2秒。它會引發事件的第一次,只是做:
if (a.IsAlive)
{
a.Abort();
}
兩個重要的事情:
- 聲明應該由一個處理計時器
- 當調用
Abort()
方法是可見的Thread
,它提出ThreadAbortException,所以你應該在方法中正確處理它。
相關問題
- 1. 如何估計時間StructuralHoles執行
- 2. 計算的方法的執行時間
- 3. 如何估算ArangoDB計數函數的執行時間
- 4. 理論上如何計算某種方法的執行時間?
- 5. C++ 11計時庫 - 如何在特定的時間間隔後執行方法?
- 6. 如何估算方法的執行時間,當它使用Java反射調用
- 7. 在運行某個函數之前估計執行時間
- 8. pthread執行時間?如何計算?
- 9. 如何計算執行時間
- 10. php如何計算執行時間?
- 11. 如何計算剩餘時間 - 基於估計時間x行可用
- 12. 如何估計SQL查詢時間?
- 13. 估計本地linux系統上代碼的執行時間
- 14. 查詢執行計時方法
- 15. 您如何正確評估ColdFusion執行時間?
- 16. 計算執行時間
- 17. 計算的執行時間
- 18. 計算CPU執行時間
- 19. 執行時間計算
- 20. 如何設置計算執行時間的計時器
- 21. 編程方法執行的開始時間 - 當時開始執行的方法
- 22. 如何知道在C++中計算算法的執行時間?
- 23. 不同的方法計算時間執行
- 24. IQueryable計數方法執行時間較長
- 25. 使用LOGPARSER的計算方法執行時間
- 26. 螺栓執行()方法內的風暴計算時間
- 27. 何時執行onNothingSelected方法?
- 28. 查找方法的執行時間
- 29. java中的方法執行時間
- 30. 基於時間的C#執行方法#
你爲什麼不啓動它從一開始另一個線程? – 2011-02-17 05:53:40
我真的不認爲有任何簡單的方法*精確*做你的要求。你需要在整個地方插入鉤子。你爲什麼堅持首先在調用線程上調用該方法? – Ani 2011-02-17 06:10:03