thread

本文介绍了Java中如何使用Thread类创建并启动线程的方法。详细解释了通过start()方法启动线程与直接调用run()方法的区别,以及这两种方式对线程并发执行的影响。

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

package interview20170616;

public class Question05
{
	/**
	 * 仅提供测试
	 * 
	 * @author ZengWenFeng
	 * @date 2011.10.09
	 * @param args
	 */
	public static void main(String[] args)
	{
		Thread t = new Thread()
		{
			public void run()
			{
				pong();
			}
		};
		/**
		1.start()方法来启动线程,真正实现了多线程运行。这时无需等待run方法体代码执行完毕,可以直接继续执行下面的代码;
		通过调用Thread类的start()方法来启动一个线程,这时此线程是处于就绪状态, 并没有运行。
		 然后通过此Thread类调用方法run()来完成其运行操作的, 这里方法run()称为线程体,它包含了要执行的这个线程的内容, Run方法运行结束, 此线程终止。
		 然后CPU再调度其它线程。
		2.run()方法当作普通方法的方式调用。
		程序还是要顺序执行,要等待run方法体执行完毕后,才可继续执行下面的代码
	          程序中只有主线程——这一个线程, 其程序执行路径还是只有一条, 这样就没有达到写线程的目的。
                     记住:多线程就是分时利用CPU,宏观上让所有线程一起执行 ,也叫并发
		 */
//		t.run();//同步了pongping,普通调用,先执行方法体pong,在ping
		t.start();//异步了,那么就不一定打印出什么结果,由于程序片段太少,基本打印pingpong
		System.out.println("ping");
	}
	
	static void pong()
	{
		System.out.println("pong");
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

spencer_tseng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值