日期:2014-05-19  浏览次数:20810 次

关于如何实现多线程并发请求一个服务
采用线程池或IO完成端口,想实现多线程并发请求一个服务的效果,但线程执行的方法加Lock(this)后,所有的线程都是顺序执行的,并不能实现并发访问。请问有什么好办法实现并发请求,又能确保线程安全么?

------解决方案--------------------
为每个线程创建一个服务对象实例。如果只是读没有写,那么不用lock也行。
------解决方案--------------------
缩小lock中的限制对象,既不要用this,用线程间出现冲突的最小对象。