理解java中的线程
我对JAVA中的线程概念非常陌生,虽然我尝试了一些代码,它们都能正常工作,但我真的不太明白在后台发生了什么。例如,我编写了以下代码:理解java中的线程,java,multithreading,Java,Multithreading,我对JAVA中的线程概念非常陌生,虽然我尝试了一些代码,它们都能正常工作,但我真的不太明白在后台发生了什么。例如,我编写了以下代码: public class myThreadTest implements Runnable { private static void ping(String text, int count) throws InterruptedException { for (int i = 0; i<count;
public class myThreadTest implements Runnable {
private static void ping(String text, int count)
throws InterruptedException {
for (int i = 0; i<count; i++) {
System.out.println("ping "+text+i+"...");
Thread.sleep(1000);
}
}
public void run() {
try {
ping("run ",10);
} catch (InterruptedException e) {
}
}
public static void main(String[] args) {
(new Thread(new myThreadTest())).start();
try {
ping("main ", 5);
} catch (InterruptedException e) {
}
}
}
公共类myThreadTest实现可运行{
私有静态无效ping(字符串文本,整数计数)
抛出中断异常{
对于(int i=0;i这是正确的。请尝试在您的ping()
方法中打印,以查看不同的线程正在运行(您也可以命名线程,作为练习,我将按照此命名,以便了解哪个线程正在做什么)是的,这两个线程同时执行
线程是程序中的执行线程。
Java虚拟机允许应用程序同时运行多个执行线程
在开始编码之前,我强烈推荐您。祝您好运java中的线程主要与并发性有关,并发性是指同时发生多件事情的概念。线程是程序中独立的执行路径
从您的程序中,我可以看到您的代码在启动时启动了两个线程运行第一个命令for循环休眠1秒,然后运行run方法并来回运行,直到for循环耗尽,因此运行继续到9有两个线程。其中一个线程已创建并开始执行其运行
方法由于主块中的start
调用而异步执行。另一个线程正在执行main
方法本身