标签:Java Thread 创建 Callable 线程 new FutureTask run public
1.继承Thread类
继承Thread类并重写run()方法
调用当前类对象的start()方法会自动启动线程并线程调用run方法。
public class Thread3 extends Thread{ @Override public void run() { super.run(); } }
public void test3() throws InterruptedException { Thread t3 = new Thread3(); t3.start(); }
2.实现runnable接口
与继承Thread类相似,实现run()方法。
public class Thread2 implements Runnable { public Thread2(){ System.out.println("thread2 is creating......"); } public void run() { System.out.println("hahaha"); } }
Thread t1 = new Thread(new Thread2(),"thread1");//参数1:开启的对象 参数2:线程的name
3.实现callable接口,带返回值类型为Callable<Object>
实现Callable接口的call()方法
将这个Callable接口实现类的对象作为参数传递到FutureTask类的构造器中,创建FutureTask类的对象。
将这个FutureTask类的对象作为参数传递到Thread类的构造器中,创建Thread类的对象,并调用这个对象的start()方法。
public class Thread5 implements Callable<String> { public Object call() throws Exception { System.out.println("hahahaha"); return "实现Callable接口的线程...."; } }
public void test4() throws InterruptedException { Thread5 thread5 = new Thread5(); FutureTask futureTask = new FutureTask(thread5); Thread thread = new Thread(futureTask,"thread"); thread.start(); }
标签:Java,Thread,创建,Callable,线程,new,FutureTask,run,public 来源: https://www.cnblogs.com/theng/p/16695937.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。