
您正在寻找类似这样的东西。
ExecutorService service = Executors.newFixedThreadPool(4); service.submit(new Runnable() { public void run() { sendSymbol(); } });创建执行程序服务。这将保留线程池以供重用。与每次为每个异步方法调用创建一个新线程相比,效率要高得多。
如果您需要对ExecutorService的更高程度的控制,请使用ThreadPoolExecutor。至于配置此服务,将取决于您的用例。您多久调用一次此方法?如果经常,您可能至少要一直在池中保留一个线程。我最多不会保留超过4或8。
由于您
sendSymbol每半秒仅调用一次,因此一个线程应该足够,因为
sendSymbols这不是一个非常耗时的例程。我将配置一个带有1个线程的固定线程池。您甚至可以重用此线程池来提交其他异步任务。
只要您提交的次数不多,您致电时就会响应
sendSymbol。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)