Java多线程-多线程的引入
定义:同时对多项任务加以控制;
什么是多线程呢,我可以简单的理解成 一边吃饭,一边听音乐 这个是多线程;假如 吃完饭再听音乐,或者先听音乐再吃饭,这个是单线程。
程序里同时执行多个任务并且加以控制 这个是java多线程的含义。同时干多个事,能充分利用cpu 内存等硬件设备,提高程序运行效率。
下面我们通过一个实例来体验下多线程:
package com.java1234.chap09.sec01; public class Test01 { /** * 听音乐 */ private static void music(){ for(int i=0;i<100;i++){ System.out.println("听音乐"); } } /** * 吃饭 */ private static void eat(){ for(int i=0;i<100;i++){ System.out.println("吃饭"); } } public static void main(String[] args) { music(); eat(); } }
这个代码应该很简单理解。先听音乐,再吃饭,运行输出类似:
听音乐
听音乐
.
.
.
听音乐
吃饭
吃饭
.
.
.
吃饭
吃饭
我们用上多线程,一般吃饭,一边听音乐,
Eat线程类:
package com.java1234.chap09.sec01; public class Eat extends Thread{ @Override public void run() { for(int i=0;i<100;i++){ try { Thread.sleep(100); System.out.println("吃饭"); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
Music类:
package com.java1234.chap09.sec01; public class Music extends Thread{ @Override public void run() { for(int i=0;i<100;i++){ try { Thread.sleep(100); System.out.println("听音乐"); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
测试类:
package com.java1234.chap09.sec01; public class Test02 { public static void main(String[] args) { Music musicThread=new Music(); Eat eatThread=new Eat(); musicThread.start(); eatThread.start(); } }
运行输出类似:
吃饭
听音乐
.
.
.
吃饭
听音乐
.
.
吃饭
听音乐
上一篇:JAVA集合-Map集合