【发布时间】:2016-08-13 15:10:41
【问题描述】:
我有一个类使用 static synchronized 方法进行 HTTP 调用。
我还有一个ExecutorService。
有多个 Runnable 类调用此方法。该方法将接受 URL、POST/GET 信息和参数,如果响应不是 200,则返回错误代码,或者返回 XML 字符串以供 Runnable 类进一步处理。
如果多个线程在放入ExecutorService后调用该方法,这样可以吗?会失败吗?
通过ExecutorService处理多个HTTP调用的理想方式是什么?
【问题讨论】:
-
是的,它是安全的,因为监视器对象将由类级别对象持有。
-
如果你的静态方法是无状态的,它可能不需要同步
-
方法为什么要同步?它是否使用任何类级别的状态?
标签: java multithreading static static-methods executorservice