所以我有一些代码,我正在创建 6 个线程,在我的主线程中运行一些代码。我开始线程。然后我调用join()
线程,以便主线程在继续执行之前等待它们全部死亡。
现在,我正在使用一些非常基本且很可能不准确的方法来测量我的代码运行所需的时间。只需调用在开始、结束时获取系统时间,然后打印差异。
例如,运行我的所有代码大约需要 500 毫秒。
我决定删除join()
对每个线程的调用,而是告诉我的主线程休眠 20 毫秒。这导致我的代码在大约 200 毫秒内完成,并且主线程设法使用来自工作线程的正确数据继续执行 - 即 6 个工作线程必须在 20 毫秒的等待中完成。
因此,为什么在每个工作线程上使用 .join 会花费这么长时间?自然,我不能将调用保留在 main 方法中sleep(20)
,而宁愿使用类似join()
's