98世界杯主题曲_世界杯4强 - dajimy.com

thread.currentThread()方法这个名字让很多人感到困惑。thread.currentThread()不返回“当前线程”,除非您碰巧认为“当前线程”意味着调用函数的线程。

这正是thread.currentThread()实际上所做的:它返回对调用它的线程的引用。如果它总是在程序中返回"main“,那么这意味着您的程序只能从main()线程调用它。

这个名字来源于很久以前,当时大多数计算机只有一个CPU,对于编写线程调度代码的人来说,这应该意味着什么。如果您正在为单个CPU计算机编写调度程序,那么在任何给定的时间都不可能有多个线程在运行。把它称为“当前线程”是很自然的。

在运行在单个CPU系统上的老式Unix风格的操作系统中,返回当前线程标识的系统调用只能返回调用它的线程的标识。

这在用户空间程序中非常有用。

在现代多处理器系统中,“当前线程”的概念并不意味着什么,但是返回调用线程标识的系统调用仍然和以往一样有用。

不幸的是,我们被它的旧名字缠住了。

P.S.,这没有任何意义:

代码语言:javascript运行复制mmt.start();

try {

mmt.join();

...

} catch (...) {

...

}没有任何理由有两个(或更多)线程,除非它们都可以同时做一些有用的事情。在您的代码示例中,一个线程启动第二个线程,然后第一个线程除了等待第二个线程完成之外什么也不做。

您最好在第一个线程中完成所有的工作。