比如我現在有10000條任務需要執行,通過信號量SemaphoreSlim來實現控制20條線程并發。 在線程內部是發送GET請求,由于目標服務器上面有限制,可能會返回403,其中任意一條線程發現返回的狀態是403的時候進行撥號換IP,現在問題就是怎么通知其他線程,我已經換IP了,你們不用再換了,注意,通知的線程只是在這20次中的線程,后來的線程不做通知,因為服務器可能又限制了。 這個是我現在的做法,定義一個程序集變量,在線程內部獲取這個變量_flag然后在異常塊判斷,這兩個值是否相等,不相等說明已經更換IP了,那么重新執行這個方法,如果相等則進入lock塊再判斷是否更換IP,有點像單例。想請問一下是否還有更好的做法?
- 1 回答
- 0 關注
- 524 瀏覽
添加回答
舉報
0/150
提交
取消