JAVA 线程的介绍与使用

本篇博客:JAVA 线程的介绍与使用

线程的创建

线程是程序中的执行流。
一个执行流是CPU运行程序代码并操作程序的数据所形成的。
因此,线程被认为是CPU为主体的行为。
线程的创建共有两个方法

通过实现Runnable接口创建线程

实现步骤

(1)定义一个类实现Runnable接口,即在该类中提供run()方法的实现。
(2)把Runnable的一个实例作为参数传递给Thread类的一个构造方法,该实例对象提供线程体run()。

代码举例
public class ThreadTest {
    
    
	public static void main(String[] args) {
    
    
		Thread t1=new Thread(new Hello());
		Thread t2=new Thread(new Hello());
		t1.start();
		t2.start();
	}
}
class Hello implements Runnable{
    
    
	int i;
	public void run() {
    
    
		while(true) {
    
    
			System.out.println("Hello"+i++);
			if(i==5) break;
		}
	}
}
运行结果

(相同代码每次运行产生的结果可能会有所不同)
下面是某次运行的结果截图:
在这里插入图片描述

通过继承Thread类创建线程

实现步骤

(1)从Thread类派生子类,并重写其中的run()方法定义线程体。
(2)创建该子类的对象创建线程。

代码举例
public class ThreadTest2 {
    
    
	public static void main(String[] args) {
    
    
		// TODO Auto-generated method stub
		Hello1 t1=new Hello1();
		Hello1 t2=new Hello1();
		t1.start();
		t2.start();
	}
}
class Hello1 extends Thread{
    
    
	int i;
	public void run() {
    
    
		while(true) {
    
    
			System.out.println("Hello"+i++);
			if(i==5)break;
		}
	}
}
运行结果

(相同代码在不同电脑可能出现的结果会存在不同)
下面是某次运行的结果截图:
在这里插入图片描述

线程常见的基本控制方法

1.sleep()
sleep()方法能够把CPU让优先级比其低的线程。该方法使一个线程运行暂停一段固定的时间。在休眠时间内,线程将不运行。
sleep()方法的格式:

static void sleep(int millsecond)//休眠时间以毫秒为单位
static void sleep(int millsecond,int nanosecond)//休眠时间是指定的毫秒数与纳秒数之和

2.stop()
当线程完成运行并结束后,将不能再运行。线程除正常运行结束外,还可以用其他方法控制使其停止运行。用stop()方法,强制终止线程。但是该方法的调用容易造成线程的不统一,因此不提倡采用该方法
3.isAlive()
有时线程的状态可能未知,用isAlive()测试线程以确定线程是否活着。该方法返回值为true意味着线程已经启动但还没有运行结束。

如有错误
欢迎指出

下一篇:用JAVA制作小游戏——飞机大战(一)

猜你喜欢

转载自blog.csdn.net/zjl0409/article/details/112551546