1.多线程学习--线程的创建

Java线程创建方式
本文介绍了Java中创建线程的两种方法:继承Thread类和实现Runnable接口。通过具体示例展示了如何使用这两种方法来创建并启动多个执行不同任务的线程。
package com.jackson.deng.concurrent;

/**
 * 创建线程有两种方式<br>
 * 	1.extends Thread<br>
 * 	2.implement Runnable<br>
 * @author jackson
 *
 */
public class CreateThread {

	public class Calculator implements Runnable {
		private int number;

		public Calculator(int number) {
			this.number = number;
		}

		/**
		 * run()执行线程中调用的函数
		 */
		@Override
		public void run() {
			for (int i = 1; i <= 10; i++) {
				System.out.printf("%s: %d * %d = %d\n", //
						Thread.currentThread().getName(), number, i, i * number);
			}
		}
	}

	public static void main(String[] args) {
		CreateThread ct = new CreateThread();
		for (int i = 1; i <= 10; i++) {
			//匿名内部类调用
			Calculator calculator = ct.new Calculator(i);
			//创建线程实例--但还没有开启线程
			Thread thread = new Thread(calculator);
			//开启线程-->每个线程执行各自的run()
			thread.start();
		}

	}

}

它是怎么工作的~?

可以看下面的运行过程



每个Java程序最少有一个执行形成,当你运行程序的时候,JVM运行负责调用main()方法的执行线程.

当调用Thread对象的start()方法时,程序创建了另一个线程.在这些start()方法调用后,我们的程序就开启了多个执行线程,分别执行执行这些start()方法.


当全部的线程执行结束时(更具体点,所有非守护线程结束时),Java程序就结束了.如果初始线程(执行main()方法的主线程)运行结束,


其他的线程还是会继续执行直到完成.但是如果某个线程调用System.exit()指示终结程序,那么全部的线程都会结束执行.




                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值