我正在使用一个线程池,它应该能够执行数百个并发任务。然而,这些任务通常很少进行计算,并且大部分时间都在等待某些服务器响应。因此,如果线程池大小包含数百个线程,只有其中的一些线程会处于活动状态,而大部分线程将处于等待状态。
我知道这通常不是线程池使用的好习惯,但当前的设计不允许使我的任务异步化,以便它们可以在等待服务器响应时返回控制权。因此,鉴于这种限制,我认为我的最大问题是线程堆栈空间的内存消耗增加。
那么,有没有办法使用某种轻量级线程来减少内存消耗?
我现在知道有一个JVM选项-Xss来控制堆栈内存,但似乎没有办法仅针对线程池或线程进行控制,而不是为VM中所有线程进行更改,对吗?
此外,您有任何关于解决我的问题的更好建议吗?
我知道这通常不是线程池使用的好习惯,但当前的设计不允许使我的任务异步化,以便它们可以在等待服务器响应时返回控制权。因此,鉴于这种限制,我认为我的最大问题是线程堆栈空间的内存消耗增加。
那么,有没有办法使用某种轻量级线程来减少内存消耗?
我现在知道有一个JVM选项-Xss来控制堆栈内存,但似乎没有办法仅针对线程池或线程进行控制,而不是为VM中所有线程进行更改,对吗?
此外,您有任何关于解决我的问题的更好建议吗?