Java 多线程 之 Runnable

本文详细探讨了Java中实现多线程的Runnable接口,包括创建线程的方式、线程间的通信以及如何避免线程安全问题。通过实例代码解析,帮助读者深入掌握多线程编程技巧。

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

http://www.verejava.com/?id=16992909097867

package com.thread;
/*
 注意:
		1. 如果要启动一个线程必须调用,start()方法
		2. 线程同时运行其实是,CPU分配给每个线程一段时间来顺序执行每个线程
		3. 因为java是单继承的,所以为了提高可扩展性,一般使用第二种实现Runnable
		   的方式
		   
		   概念上 可以理解为  他们 main  MyThread 是同时进行
 */
public class TestRunnable
{
	public static void main(String[] args)
	{
		//实列话一个线程
		MyThread2 t=new MyThread2();
		Thread thread=new Thread(t,"汽车线程");
		thread.start();//启动线程, run() 会自动调用
		
		Thread thread2=new Thread(t,"火车线程");
		thread2.start();//启动线程, run() 会自动调用
		
		try
		{
			for(int i=0;i<100;i++)
			{
				System.out.println(Thread.currentThread().getName()+i);
				Thread.sleep(1000);
			}
		} catch (Exception e)
		{
			e.printStackTrace();
		}
		
	}
}
//Alt+Shit+S 可以找到父类的方法
class MyThread2 implements Runnable
{

	@Override
	public void run()
	{
		try
		{
			for(int i=0;i<100;i++)
			{
				System.out.println(Thread.currentThread().getName()+i);
				Thread.sleep(1000);
			}
		} catch (Exception e)
		{
			e.printStackTrace();
		}
		
	}
	
}

http://www.verejava.com/?id=16992909097867

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值