java自学 day11
程序员文章站
2022-06-11 14:48:46
java中的多线程 Java是少数的几种支持“多线程”的编程语言之一。大多数的编程语言只能顺序运行多个单独程序块,无法同时运行不同的多个程序块。java的“多线程”恰可以弥补这个缺憾,它可让不同的程序块并发执行,如此一来就可让程序块运行得更为流畅,同时也可达到多任务处理的目的。 先看一下单线程的情况 ......
java中的多线程
Java是少数的几种支持“多线程”的编程语言之一。大多数的编程语言只能顺序运行多个单独程序块,无法同时运行不同的多个程序块。java的“多线程”恰可以弥补这个缺憾,它可让不同的程序块并发执行,如此一来就可让程序块运行得更为流畅,同时也可达到多任务处理的目的。
先看一下单线程的情况:
public class ThreadDemo_1 { public static void main(String[] args) { TestThread.run(); for(int i=0;i<5;i++){ System.out.println("main线程在运行"); } } static class TestThread{ public static void run(){ for(int i=0;i<5;i++){ System.out.println("TestThresd在运行"); } } } }
从这个例子可以看出,想要运行main方法中的for循环,必须要等TestThread类中的run()方法执行完,即使后面的方法不依赖于前面的方法。这就是单线程的缺陷。
通过继承Thread类实现多线程:
public class ThreadDemo_2 { public static void main(String[] args) { new TestThread().start(); for(int i=0;i<5;i++){ System.out.println("main线程在运行"); try { Thread.sleep(1000); } catch(InterruptedException e){ e.printStackTrace(); } } } } class TestThread extends Thread{ public void run(){ for(int i=0;i<5;i++){ System.out.println("TestThresd在运行"); try { Thread.sleep(1000); } catch(InterruptedException e){ e.printStackTrace(); } } } }
需注意一点,多线程的执行顺序具有不确定性。另外还可以通过Runnable接口实现多线程。
下一篇: 吃樱桃很上火吗?多吃樱桃的好处有什么?