JAVA学习心得——关于线程的初步了解

一、什么是程序:程序(Program)是为实现特定目标或解决特定问题而用计算机语言(比如Java语言)编写的命令序列的集合。这个很容易理解。二、什么是进程:进程(process)指一个程序的一次执行过程。如果我们执行一个程序我们会在任务管理器中找到,相应的列表,如果执行完成,任务管理器的列表中就会消失。下面我们写出一个程序理解一下进程:public class Te...
摘要由CSDN通过智能技术生成

 

一、什么是程序:

程序(Program)是为实现特定目标或解决特定问题而用计算机语言(比如Java语言)编写的命令序列的集合。

这个很容易理解。

二、什么是进程:

进程process指一个程序的一次执行过程

如果我们执行一个程序我们会在任务管理器中找到,相应的列表,如果执行完成,任务管理器的列表中就会消失。下面我们写出一个程序理解一下进程:

public class Test {
	
	public static void main(String[] args) {
		try {
			Thread.sleep(10000);//程序会等待时间10000ms,然后再继续执行。
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println("12343654e");
}

如下两图所示:现在程序在执行,有一个javaw.exe程序。如果程序结束之后就会没有

 

 

 三、什么是线程 :

线程(thread)又称为轻量级进程,线程是一个程序中实现单一功能的一个指令序列,是一个程序的单个执行流,存在于进程中,是一个进程的一部分。

个人理解就是:线程就是一个个小地模块单元,一个程序运行起来,需要多个模块,这些模块工作造就整个程序运转,而且模块之间互不影响,所以就会发现如下图所示,一个程序有多个线程:

四、如何创建线程对象?

  1. 继承java.lang.Thread,重写run方法。
  2. 实现java.lang.Runnable接口,实现run抽象方法。
public class Test {
	
	public static void main(String[] args) {
		try {
			Thread.sleep(1000);//程序会等待时间1000ms,然后再继续执行。
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println("12343654e");
		new TimeThread().start();
}
class TimeThread extends Thread{//方法一:继承Theadf类,并重写润方法
	@Override
	public void run () {
		try {
			sleep(1000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		for (int i = 0;i<15 ; i++) {
			System.out.println("计数" + i);	
		}
	}
}
class countThread implements Runnable{//方法二、实现java.lang.Runnable接口,实现run抽象方法

	@Override
	public void run() {
		for(int j=0;j<10; j++) {
			System.out.println("时间"+new Date());
		}
	}
}

 

五、 线程生命周期:

线程的生命周期分为一下五步:

  1. 新建状态(New):新创建了一个线程对象。
  2. 就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。
  3. 运行状态(Running):就绪状态的线程获取了CPU使用权,执行程序代码。
  4. 阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。
  5. 死亡状态(Dead):线程执行完了或者因异常退出了run()方法,该线程结束生命周期。

 

堵塞情况有很多,暂时只提一种:sleep();就是我们上述程序中的等待时间,更多堵塞在后续学习中我会持续更新。

 

有关线程池,线程常用方法,线程之间的数据共享、协作等待,会在后续博客持续输出。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值