Java多线程——多线程的引入

目录

 

1.多线程定义

2.多线程应用 


​​​​​​​

1.多线程定义

定义:同时对多项任务加以控制;

多线程,顾名思义,就是可以多件事情一起干;

比方说,一边听歌,一边吃饭,这就是多线程;先听歌后吃饭或者先吃饭后听歌,这就是单线程;

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

同时干多个事,能充分利用cpu 内存等硬件设备,提高程序运行效率。

2.多线程应用 

单线程举例子:

package com.java.test;

public class demo01 {

	private static void eat(){
		for (int i = 0; i < 5; i++) {
			System.out.println("吃饭");
		}
	}
	
	private static void music(){
		for (int i = 0; i < 5; i++) {
			System.out.println("听歌");
		}
	}
	
	public static void main(String[] args) {
		eat();
		music();
	}
}

运行结果:

 

多线程举例子:

我们先定义吃饭听歌的类:

类都必须继承Thread这个类,然后重写里面的run方法就可以了。

还可以用Thread来设置线程执行的频率。

package com.java.test;

public class Music extends Thread{

	@Override
	public void run() {
		for (int i = 0; i < 10; i++) {
			try {
				//设置1s执行线程一次
				Thread.sleep(1000);
				System.out.println("听歌");
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}
package com.java.test;

public class Eat extends Thread{

	@Override
	public void run() {
		for (int i = 0; i < 10; i++) {
			try {
				//设置1s执行线程一次
				Thread.sleep(1000);
				System.out.println("吃饭啊啊");
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

	
}

 测试类:

这里创建线程和创建对象差不多;

启动线程用start()方法;

package com.java.test;

public class Test {

	public static void main(String[] args) {
		//听音乐线程
		Music musicThread=new Music();
		//吃饭线程
		Eat eatThread=new Eat();
		
		//启动线程
		musicThread.start();
		eatThread.start();
	}
}

 运行效果:

注意:这里运行结果是1s设置一次的!

猜你喜欢

转载自blog.csdn.net/qq_37084904/article/details/92764637