为什么说创建一个线程是昂贵的?
Java教程说创建线程非常昂贵。但是为什么它很贵呢?当创建Java线程时,会发生什么,从而使其创建成本更高?我认为这句话是真的,但我只对JVM中线程创建的机制感兴趣。
线程生命周期开销。线程创建和删除并不是免费的。实际开销因平台而异,但线程创建需要时间,将延迟引入到请求处理中,并且需要JVM和OS进行一些处理活动。如果请求频繁且轻量级,就像在大多数服务器应用程序中一样,为每个请求创建一个新线程可能会消耗大量的计算资源。
从…Java并发在实践中的应用
作者:Brian Goetz,Tim Peierls,乔舒亚·布洛赫,约瑟夫·鲍比尔,大卫·霍姆斯,道格·利亚
印刷ISBN-10:0-321-34960-1