java多线程线程创建方法

创建线程方法

方法一::继承Java.lang.Thread类,并覆盖run() 方法
ps:方法run( )称为线程体。

 /**
  * 线程入口点
  */ 
 public void run() {
  for(int i=0;i<20;i++) {
   System.out.println("一边听歌");
  
  }
}
 public static void main(String[] args) {
//  //创建子类对象
  TestThread st = new TestThread();
  //启动
 st.start();//开启一个新的线程//由cpu调用,不一定立即执行
  //st.run();//普通方法调用
  for(int i=0;i<20;i++) {
  System.out.println("一边学习");
}
}`

方法二:实现Java.lang.Runnable接口,并实现run() 方法

public class TestRunnable implements Runnable {
//线程入口点
public static run(){
	for(int i=0;i<20;i++){
	System.out.println("一边听歌");

		}

}

public static void main(String[] args){
//创建实现类对象
TestRunnable tr = new TestRunnable();
//创建代理类对象(静态代理设计模式)
Thread hh = new Thread();
//启动线程
hh.start;

for(int i = 0;i<20;i++){
	system.out.println("一边学习");
}

}

}

第三种方式:实现Callable接口
• 与实行Runnable相比, Callable功能更强大些
• 方法不同
可以有返回值,支持泛型的返回值
• 可以抛出异常
• 需要借助FutureTask,比如获取返回结果

• Future接口
• 可以对具体Runnable、Callable任务的执行结果进行取消、查询是否完成、获取结果等。
• FutrueTask是Futrue接口的唯一的实现类
• FutureTask 同时实现了Runnable, Future接口。它既可以作为Runnable被线程执行,又可以作为 Future得到Callable的返回值.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值