线程简单介绍和使用Thread线程

首先要了解以下概念:
进程:进程是资源分配的最小单位。
线程:线程是程序执行的最小单位。

计算机在执行程序的时候,会创建相应的进程,进行资源分配的时候,是以进程为单位进行相应的分配。
每个进程都有相应的线程,在执行程序时,实际上是执行相应的线程。

地址空间:进程是有自己独立的地址空间,每次启动一个线程,都会分配对应的地址空间来处理数据,而线程是没有独立空间的,但是可以共享进程的地址空间。

资源拥有:
进程之间的资源是相互独立的。同一个进程内的线程是可以共享该进程的资源。

执行过程:每个独立的进程有一个程序运行的入口,会顺序去执行程序的入口,线程不得独立执行,必须依存在应用程序中,有应用程序提供多个线程执行程序。

程序中使用多个线程(并发),效率会提升,线程是我们可以控制程序中的最小的执行单位,我们的多线程其实就是多个线程在进程里面去抢占资源。

了解以上概念后,我们可以在java中去实现线程,本篇先介绍使用Thread类创建进程。

//创建进程001
public class Thread01 extends Thread {
	public void run() {
		//进行死循环
		for(;1==1;) {
			try {
				sleep(500);
			} catch (Exception e) {
				e.printStackTrace();
			}
			System.out.println("线程001");
		}
	}
}
//创建进程000,同样进行死循环
public class Thread02 extends Thread {
	public void run() {
		for(;1==1;) {
			try {
				sleep(500);
			} catch (Exception e) {
				e.printStackTrace();
			}
			System.out.println("线程002");
		}
	}
}
//进行测试
//启动线程,调用的是start方法而不是run方法,start方法会调用start0,start0是一个native方法,JVM会自动执行
public class TestThreak {
	public static void main(String[] args) {
		Thread01 th1=new Thread01();
		Thread02 th2=new Thread02();
		th1.start();
		th2.start();
		
	}
}

测试结果:
在这里插入图片描述
输出“线程001”或“线程002”的原因是两个线程在抢占进程的资源,哪个线程抢占到了进程的资源便执行该线程,执行完成继续抢占资源。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值