在 Java 中,经典线程是 java.lang.Thread 类的实例。后面我们也将它们称为平台线程。非目标:
此方法为每个任务创建一个新的虚拟线程。 Executor 创建的线程数是无限的。
请注意,当所有启动的非守护线程都终止时,JVM 终止。这意味着 JVM 在退出之前不会等待虚拟线程完成。
这些方法在虚拟线程上调用时会引发UnsupportedOperationException。
任务说明:在控制台中打印一条消息之前等待1秒,现在使用Runnable创建10000个线程,用虚拟线程和平台线程执行它们,来比较两者的性能。我们将使用Duration.between()api 来测量执行所有任务的经过时间。首先,我们使用一个包含 100 个平台线程的池。这样,Executor 一次可以运行 100 个任务,其他任务需要等待。由于我们有 10,000 个任务,因此完成执行的总时间约为 100 秒。
请注意虚拟线程的超快性能将执行时间从 100 秒减少到 1.5 秒,而 Runnable 代码没有任何变化。 其他实际场景:https://zhuanlan.zhihu.com/p/604507117?utm_id=08.使用虚拟线程需要注意什么?
作者:京东科技 宋慧超
来源:京东云开发者社区 转载请注明来源
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |