6个回答
展开全部
java创建线程的方式有三种
第一种是继承Thread类 实现方法run() 不可以抛异常 无返回值
第二种是实现Runnable接口 实现方法run() 不可以抛异常 无返回值
第三种是实现Callable<T>接口,接口中要覆盖的方法是 public <T> call() 注意:此方法可以抛异常,而前两种不能 而且此方法可以有返回值
第三种如何运行呢 Callable接口在util.concurrent包中,由线程池提交
import java.util.concurrent.*;
ExecutorService e = Executors.newFixedThreadPool(10); 参数表示最多可以运行几个线程
e.submit(); 这个里面参数传 实现Callable接口那个类的对象
第一种是继承Thread类 实现方法run() 不可以抛异常 无返回值
第二种是实现Runnable接口 实现方法run() 不可以抛异常 无返回值
第三种是实现Callable<T>接口,接口中要覆盖的方法是 public <T> call() 注意:此方法可以抛异常,而前两种不能 而且此方法可以有返回值
第三种如何运行呢 Callable接口在util.concurrent包中,由线程池提交
import java.util.concurrent.*;
ExecutorService e = Executors.newFixedThreadPool(10); 参数表示最多可以运行几个线程
e.submit(); 这个里面参数传 实现Callable接口那个类的对象
展开全部
所谓Java线程的实现,一般指的是: extends Thread 类 或 implements Runnable接口
TimerTask是线程的特殊具体实现,但局限于定时任务处理,不具有线程实现的普遍性,所以说到Java的实现线程的方式,一般是指前面说的两种。如果TimerTask都要算上的话,那就无穷无尽了。
TimerTask是线程的特殊具体实现,但局限于定时任务处理,不具有线程实现的普遍性,所以说到Java的实现线程的方式,一般是指前面说的两种。如果TimerTask都要算上的话,那就无穷无尽了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有三种:
(1)继承Thread类,重写run函数
创建:class xx extends Thread{ public void run(){Thread.sleep(1000) //线程休眠1000毫秒,sleep使线程进入Block状态,并释放资源}}
开启线程:对象.start() //启动线程,run函数运行
(2)实现Runnable接口,重写run函数
开启线程:Thread t = new Thread(对象) //创建线程对象t.start()
(3)实现Callable接口,重写call函数
Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两种 一个是扩展runable接口
一个是 继承thread类。
一个是 继承thread类。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
默认两种
a:实现runable
b:继承Thread类
a:实现runable
b:继承Thread类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询