Java多线程的引入

多线程的定义是:同时对多项任务加以控制。


那什么是多线程呢?这个问题可以理解成一边吃饭、一边听歌。这个是多线程。假如吃完饭再听歌,

或者是先听歌再吃饭,这个是单线程。


程序里同时执行多个任务并且加以控制,这个是Java多线程的含义。同时干多个事情,

能充分的利用电脑CPU内存等硬件设备,并以提高程序运行效率。

使用代码体验:首先试一试往常的编程写法

package com.java.test;

public class EatTest {
	 /**
     * 听音乐
     */
    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();
    }
}
运行结果:


可以明显的看出来,它是听完100首歌在进行吃饭,无法做到一边听歌一边吃饭。

扫描二维码关注公众号,回复: 1169883 查看本文章

再试一试使用多线程实现的方法:

package com.java.test;

/**
 * 听音乐的类
 * @author Administrator
 *
 */
public class MusicThreadTest extends Thread{
	@Override
    public void run() {
        for(int i=0;i<100;i++){
            try {
            	//暂停线程0.1秒种
                Thread.sleep(100);
                System.out.println("听音乐");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
	}
}
package com.java.test;
/**
 * 吃饭的类
 * @author Administrator
 *
 */
public class EatThreadTest extends Thread{
	 @Override
	    public void run() {
	        for(int i=0;i<100;i++){
	            try {
	            	//暂停线程0.1秒种
	                Thread.sleep(100);
	                System.out.println("吃饭");
	            } catch (InterruptedException e) {
	                e.printStackTrace();
	            }
	        }
	    }
	 public static void main(String[] args) {
	        MusicThreadTest musicThread=new MusicThreadTest();
	        EatThreadTest eatThread=new EatThreadTest();
	        musicThread.start();
	        eatThread.start();
	  
}
}
运行结果:



可以看的出,它是并行执行的,听音乐、吃饭,听音乐、吃饭........。两件事请是同时执行。


猜你喜欢

转载自blog.csdn.net/lifupingcn/article/details/64128037