Java-线程执行的原理分析

涎涎原创约 463 字大约 2 分钟...JavaJava

147-Java-线程执行的原理分析.mdopen in new window

注意

本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。

示例代码:

package 多线程一;
/**
 * 打印数字的类
* <p>Title: PrintNumber</p>  
* <p>Description: </p>  
* @author xianxian 
* @date 2019年7月17日
 */
public class PrintNumber implements Runnable{

	private int startNumber;
	private int endNumber;
	
	/**
	 * 
	 * <p>Title: print</p>  
	 * <p>Description: 打印数字的方法</p>
	 */
	public void print() {
		for(int i = this.startNumber;i <= this.endNumber;i++) {
			System.out.println(i);
		}
	}
	public PrintNumber(int startNumber, int endNumber) {
		this.startNumber = startNumber;
		this.endNumber = endNumber;
	}
	public int getStartNumber() {
		return startNumber;
	}
	public void setStartNumber(int startNumber) {
		this.startNumber = startNumber;
	}
	public int getEndNumber() {
		return endNumber;
	}
	public void setEndNumber(int endNumber) {
		this.endNumber = endNumber;
	}
	@Override
	public void run() {
		// 当前类实现Runnable接口,就成咯一个线程类,
		//实现Runnable接口,必须实现接口中的run方法
		//那么线程启动时会自动执行run方法
		this.print();
	}
}
package 多线程一;

public class Test {

	public static void main(String[] args) {

		/**
		 * 需求:朝控制台打印输出1-900这些数字
		 * 技术实现:打快点,同时让三个人(三个线程) 打印输出
		 * 一个从1-300
		 * 一个从301-600
		 * 一个从601-900
		 */
		PrintNumber p1 = new PrintNumber(1, 3000);
//		p1.print();
		PrintNumber p2 = new PrintNumber(3001, 6000);
//		p2.print();
		PrintNumber p3 = new PrintNumber(6001, 9000);
//		p3.print();
		//开辟 三个线程
		Thread t1 = new Thread(p1);//这里有传参准备就绪后会调用run方法
		t1.start();//准备就绪 
		Thread t2 = new Thread(p2);
		t2.start();
		Thread t3 = new Thread(p3);
		t3.start();
	}
}

运行结果:

线程的执行原理:


分割线


相关信息

以上就是我关于 Java-线程执行的原理分析 知识点的整理与总结的全部内容,另附源码open in new window

上次编辑于:
贡献者: 涎涎
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.4