Java多线程编程初学(一)

本文介绍了Java中的多线程概念,强调线程作为CPU执行的基本单元。详细阐述了两种创建线程的方法:继承Thread类和实现Runnable接口。通过示例代码展示了如何启动线程并打印线程名称,帮助初学者理解Java多线程基础知识。
摘要由CSDN通过智能技术生成


前言

最近开始对java进行学习,之前毛毛躁躁的也看过一些简单的基础知识,因为对编程感兴趣,在依葫芦画瓢选择性学习socket编程时,对学习过程中涉及的很多知识点还是不清楚,尤其是对多线程编程这块认知甚少,因此根据查缺补漏的原则开始学习多线程。


一、多线程的概念

多线程实际就是并发处理。操作系统在运行程序时,会分配相应的资源给到该程序运行,可以说进程是操作系统分配的基本单元。注意,这里是操作系统对资源的分配,那么操作系统实际又由CPU来运行,CPU运行程序实际是对进程里面的线程进行操作。这里就要说下,操作系统创建进程后,进程里面又创建线程供CPU实际执行,因此也说线程是CPU执行的基本单元。

二、JAVA程序线程的实现

JAVA创建线程有3种方式,1、通过继承Thread类,并重写run方法。2、通过实现Runnable接口的run方法;3、callable方法(看过多线教程博文的都应该清楚,大家都说这种方式创建应用的场合很少,都没有过多的介绍,我也没去看了)。三种方式各有特点,继承Thread类,那么就不能继承其他类了,但是在线程中可以直接使用This来获取当前线程资源;实现Runnable方法的话,则可以继承其他类;第三种方式据说是可以有返回值。前两种是没有的。

1.继承Thread方法创建线程

前面的介绍说到,不管是继承Thread类还是实现Runnable方法创建线程,实际都是要对run方法进行处理,也就是我们线程最终是执行run方法中的内容。那么废话不多说,开始创建我们的线程Demo。

代码如下(示例):

package com.st.threadst;

public class CreateByThread extends Thread {
	
	//继承thread方法创建线程
	@Override
	public void run() {
		super.run();
		System.out.println("使用继承Thread方法创建线程,现在运行线程:" + this.getName()); 
	}

}

main方法运行:

package com.st.threadst;

public class ThreadMainDemo {
	
	public static void main(String[] args) {
		//创建线程
		CreatByThread cbt = new CreatByThread();
		//运行线程
		cbt.start();
	}
	
}

运行结果:

使用继承Thread方法创建线程,现在运行线程:Thread-0

运行结果中,Thread-0为线程的名字,如果没有给线程命名,那么进程会自动为线程命名,也就是getname方法所获取到的为默认命名。

2.实现Runnable方法创建线程

代码如下(示例):

package com.st.threadst;

public class CreateByRunnable implements Runnable {
	
	@Override
	public void run() {
		
		System.out.println("使用继承Thread方法创建线程,现在运行线程:" + Thread.currentThread().getName());
		
	}

}

main方法运行。

package com.st.threadst;

public class RunnableMainDemo {
	
	public static void main(String[] args) {
		
		CreateByRunnable cbr = new CreateByRunnable();
		Thread t1 = new Thread(cbr, "Runnable方式创建线程");
		t1.start();

	}

}

运行结果

使用继承Thread方法创建线程,现在运行线程:Runnable方式创建线程

这里获取线程名的方式与之前的就稍有不同。线程名任何时候都可以使用
Thread.currentThread().getName()获取。


总结

这里先对线程有个基本的概念。了解如何创建线程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值