最近要对之前一个C/S结构的项目中编写的代码进行些优化,由于是服务端的程序主要就是找到其中容易引起多线程并发点,标注并尽量修改出来,由于本人对多线程这块接触的比较少,虽然最近几天一直在狂补但还是感觉收效甚微,所以在此请各位多线程方面的高手指点一二,谢谢!
1.如何查找容易引起多线程并发的点,之前想到了一些:主要就是查找全局的静态变量(此处使用全局静态字典进行存储查询的工作)使用之处,看能否用单例模式进行改进。
不过还是觉得比较片面考虑很不完全,希望大家再给予指点。
2.如何能学好多线程方面的知识,最好能推荐一些书籍、网站或者视频教程均可。
唯有及时送分感谢!
1.如何查找容易引起多线程并发的点,之前想到了一些:主要就是查找全局的静态变量(此处使用全局静态字典进行存储查询的工作)使用之处,看能否用单例模式进行改进。
不过还是觉得比较片面考虑很不完全,希望大家再给予指点。
2.如何能学好多线程方面的知识,最好能推荐一些书籍、网站或者视频教程均可。
唯有及时送分感谢!
代码中凡是用到类里面的变量或属性存储值的,比如List<>,Arraylist,Dictionary的都可能在多线程下有并发问题,要检查。
http://knowledge.swanky.wu.googlepages.com/threading_in_c_sharp_part_1.html