use*_*380 8 java multithreading
所以我正在努力为我正在制作的游戏开发线程.我对这个主题很新,所以我可能听不懂.我的问题是currentThread()方法如何在java API的Thread类中工作.API说"返回对当前正在执行的线程对象的引用.",但据我所知,多个线程同时运行.如何只返回一个执行线程?
当代码中的指令执行时,它会在特定线程中执行。这是该方法返回的线程。
显然,如果特定方法由多个线程执行,则每次执行可能会返回不同的 值Thread.currentThread()。
您可以尝试这个简短的示例,以更好地了解正在发生的事情,尤其是 2 个线程并行执行的事实。您应该看到 t1 将运行几个循环,然后 t2 将执行相同的操作并返回 t1 等(您可能需要将循环数从 5 增加到更高的数量,具体取决于您的机器):
public class TestThread {
public static void main(String[] args) {
Runnable r = new Runnable() {
@Override
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread());
}
}
};
Thread t1 = new Thread(r, "t1");
Thread t2 = new Thread(r, "t2");
t1.start();
t2.start();
}
}
Run Code Online (Sandbox Code Playgroud)
假设您在一张纸上打印了说明列表。一个人阅读说明并执行它们。指令是一个程序。人是一根线。你可以复印很多份文件,然后分发给很多人。如果说明上写着类似“打自己一巴掌”之类的话,则您自己是指从该论文中阅读该说明的任何人。同样,Thread.currentThread()指的是正在执行该调用的线程currentThread()。
| 归档时间: |
|
| 查看次数: |
9339 次 |
| 最近记录: |