为了账号安全,请及时绑定邮箱和手机立即绑定

多线程同步的问题

多线程同步的问题

侃侃尔雅 2018-07-31 07:10:22
比如我现在有10000条任务需要执行,通过信号量SemaphoreSlim来实现控制20条线程并发。   在线程内部是发送GET请求,由于目标服务器上面有限制,可能会返回403,其中任意一条线程发现返回的状态是403的时候进行拨号换IP,现在问题就是怎么通知其他线程,我已经换IP了,你们不用再换了,注意,通知的线程只是在这20次中的线程,后来的线程不做通知,因为服务器可能又限制了。 这个是我现在的做法,定义一个程序集变量,在线程内部获取这个变量_flag然后在异常块判断,这两个值是否相等,不相等说明已经更换IP了,那么重新执行这个方法,如果相等则进入lock块再判断是否更换IP,有点像单例。想请问一下是否还有更好的做法?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 496 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信