用亲身经历告诉你,在你的并发程序代码块中,最好最好不要有引用类型,必要的string类型还是可以的。
目前正在把自己前段时间写的并发程序放到自己的项目中,以提高速度,由于我的项目是与移动对接的,因此,询问了移动的接口能不能响应高并发之后,并且得到了肯定的答复,我就开始着手demo设计了,但是一直出错,一直有问题,后来想到,可能是引用类型的问题,因为我的并发代码需要不断地给一个类实例对象的某个字段赋值,然后去调用移动接口,我就捉摸着,可能是因为并发太快了,然后这个引用类型赋值的之后,没有来的及更换内存地址,因为我这个类实例对象是全局的,后来我就改成局部的了,大不了换点内存么,我还是更喜欢速度快点,果然!运行成功,没有出错。
最后,我寻思了下,并发中的值类型是最安全的,当然,有时候我们还是会需要string,此时最好是把string弄成局部变量,其余的引用类型也是,我们可以把一次并发需要的引用参数想象成一次请求,大不了,就是每次的请求调用都是使用局部变量,又能耗多少内存,再说了我们也能自己手动释放内存!