java多线程(一) 创建和启动

本文深入探讨了Java中多线程的实现方式,包括通过继承Thread类和实现Runnable接口来创建线程,以及如何通过start()方法启动线程。详细解释了线程对象的状态变化及线程执行的基本流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 生成Thread对象

1.1 继承java.lang.Thread类

使用new字符新建Thread对象。参考下面的实现代码

/*
 * 继承Thread类
 * 创建Thread对象
 * 
 */
public class Extendsthread extends Thread {
	private String name;
	
    public Extendsthread(String name) { 
        this.name = name; 
    } 

    public void run() {
    	for( int i=0; i<10; i++ ){
        	System.out.println(this.name); 
    	}
    } 

    public static void main(String[] args) { 
        Thread t1 = new Extendsthread("线程1"); 
        Thread t2 = new Extendsthread("线程2"); 
        t1.start(); 
        t2.start(); 
    } 
}

1.2 实现java.lang.Runnable接口

调用Thread的构造方法来创建Thread对象。

Thread(Runnable target)

/*
 * 实现Runnble类
 * 创建Thread对象
 * 
 */
public class ImpRunnable implements Runnable {
	private String name;
	
    public ImpRunnable(String name) { 
        this.name = name; 
    } 

    public void run() {
    	for( int i=0; i<10; i++ ){
        	System.out.println(this.name); 
    	}
    } 

    public static void main(String[] args) {
    	ImpRunnable impRunnable1 = new ImpRunnable("线程1");
    	ImpRunnable impRunnable2 = new ImpRunnable("线程2");
        Thread t1 = new Thread( impRunnable1 ); 
        Thread t2 = new Thread( impRunnable2 ); 
        t1.start(); 
        t2.start(); 
    } 
}

2 启动线程

调用Thread对象的start()方法。

 在调用start()方法之前:线程处于新状态中,只是一个Thread对象,而不是线程。

 在调用start()方法之后:发生了一系列复杂的事情

启动新的执行线程(具有新的调用栈);

该线程从新状态转移到可运行状态;

当该线程获得机会执行时,其目标run()方法将运行。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值