Java多线程之初体验

在Java中要想实现多线程,有两种方式,一种是继承Thread类,另一种是实现Runable接口。java

方法一:多线程

经过Thread实现多线程ide

package multiThread;

/**
 * 继承Thread类实现多线程
 *
 * @author Leizhi 2016/5/18
 * @see
 * @since 1.0
 */
public class MultiThreadExtendsThread extends Thread
{

	@Override
	public void run()
	{
		/**
		 * 要实现的多线程代码
		 */
		System.out.println("This multiThread is extends from Thread");
	}

}

方法二:操作系统

实现Runable接口实现多线程线程

package multiThread;

/**
 * 实现Runable接口实现多线程
 *
 * @author Leizhi 2016/5/19
 * @see
 * @since 1.0
 */
public class MultiThreadImpRunnable implements Runnable
{
	@Override
	public void run()
	{
		System.out.println("This multiThread is implements from Runnable...");
	}
}
使用多线程
package multiThread;

/**
 * 使用多线程
 *
 * @author Leizhi 2016/5/19
 * @see
 * @since 1.0
 */
public class UseMultiThread
{
	public static void main(String[] args)
	{
		/*继承Thread类的线程运行*/
		MultiThreadExtendsThread multiThreadExtendsThread = new MultiThreadExtendsThread();
		multiThreadExtendsThread.start();

		/*实现Runable接口线程运行*/
		MultiThreadImpRunnable multiThreadImpRunnable = new MultiThreadImpRunnable();
		new Thread(multiThreadImpRunnable).start();
	}
}

运行效果截图code

Thread和Runnable的区别
若是一个类继承Thread,则不适合资源共享。可是若是实现了Runable接口的话,则很容易的实现资源共享。
实现Runnable接口比继承Thread类所具备的优点:
一、适合多个相同的程序代码的线程去处理同一个资源
二、能够避免java中的单继承的限制
三、增长程序的健壮性,代码能够被多个线程共享,代码和数据独立。继承

注意:接口

main方法其实也是一个线程。在java中因此的线程都是同时启动的,至于何时,哪一个先执行,彻底看谁先获得CPU的资源。在java中,每次程序运行至少启动2个线程。一个是main线程,一个是垃圾收集线程。由于每当使用java命令执行一个类的时候,实际上都会启动一个JVM,每个jVM实习在就是在操做系统中启动了一个进程。进程

相关文章
相关标签/搜索