java多线程简介及线程创建方式

一  java多线程简介

       程序是为了完成特定任务、用某种语言编写的一组指令的集合。

       进程是程序的一次执行过程,是系统进行调度和资源分配的一个独立单位。

       线程是比进程更小一级的执行单元,线程不能独立存在,必须存在于进程中,各线程间共享进程空间的数据。

       在一个程序里面可以只运行一个线程,也可以创建多个线程运行。如图所示:


     多线程通常是用来进行并行计算的。什么意思呢,就是把一个任务分解成多个子任务同时执行,提高效率。

举个例子:假如有10块砖需要从A地搬到B地,一次搬一块,如果用一个人来搬,假如来回一趟需要10分钟,那么

搬完10块砖就需要100分钟。如果现在派10个人同时来搬这10块砖,那么就只需要消耗10分钟就可以完成搬砖任务。

所以多线程是以多消耗系统资源的方式来换取程序性能上的提升。

   java中线程的生命周期图解:


二  java线程的创建

    java中创建线程有两种方式,一种是继承Thread,另一种是实现Runnable接口。不多解释,直接来看代码:

class CreateByThread extends Thread{
	String[] colors={"red","orange","yellow", "green",
			"blue","indigo","purple","black","white"};
	public void run() {
		for(int i=0;i<colors.length;i++){
			try {
				System.out.println(colors[i]);
				Thread.sleep((long)(Math.random()*2000));
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
}
class CreateByRunnable implements Runnable{
	String[] colors={"红色","橙色","黄色", "蓝色",
			"绿色","靛色","紫色","黑色","白色"};
	public void run() {
		for(int i=0;i<colors.length;i++){
			try {
				System.out.println(colors[i]);
				Thread.sleep((long)(Math.random()*3000));
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
}
public class ThreadCreate {
	public static void main(String[] args) {
		CreateByThread cbt=new CreateByThread();
		Thread cbr=new Thread(new CreateByRunnable());
		cbt.start();
		cbr.start();
	}
}
运行结果如下:

red
红色
orange
yellow
橙色
green
blue
黄色
indigo
蓝色
purple
black
绿色
white
靛色
紫色
黑色
白色
可以看出,两个线程运行没有啥规律,相互竞争系统资源(CPU)运行。

java线程的常用方法如图所示:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

御前两把刀刀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值