解决方案 »
- 能不能获取被引用dll的路径?
- 求C#项目开发全程实录的源代码
- 不需要了解嵌入式,仅用C#也可以编写小车控制程序
- 如何捕捉到一个数据转换的错误
- 亲们,还是昨天那个问题
- 怎么动态更改DataGridView中的字段值?
- 如何用C#操作javascript的数组呀
- 求助:关于ListView的使用
- c# webform下,txtbox,dropdownlist失去焦点时,如何激活一个函数(C#函数,非java)!急呀!要多急有多急,大家帮着顶一下!
- 一个窗体如何触发绑定另一窗体中的DataGrid的数据源(winForm)
- C#生成的PDF怎么去掉段首自动生成的序号
- wince6.0下,.net不支持异步委托,用什么办法可以实现以下功能?
listerner.Stop();这两句顺序换一下看看.
你现在每半秒开一个线程,除了第一线程可以进入lock以外,其它线程都在lock处等待。
第一线程将在listerner.GetContext()处等待,直到出现满足条件的http请求。
这时候第一线程可以顺利执行完毕,第二线程进入lock,在listerner.GetContext()处等待,其它线程继续在lock处等待。
如果这时候 listerner.Stop(),则第二线程(监听listener的线程)异常退出(由于应用程序请求)。第三线程进入lock,在调用listerner.GetContext()的时候,产生异常InvalidOperationException:请在调用此方法前调用 Start() 方法,然后第四第五线程重复这个过程,直到所有线程都异常退出。