此文章仅仅能够初步使用多线程,其步骤怎么简单怎么来
1、创建Task类,创建需要用到的Service类
public class UserTask implements Callable
2、创建FutureTask,需要将多少个方法多线程化,就创建几个FutureTask。
FutureTask
其中的Map为你的方法返回的类型,例:(调用public String fangFaMing1() ;方法就返回String类型)
3、创建线程池 需要几个()内就填写几个
ExecutorService executor = Executors.newFixedThreadPool(3);
executor.submit(thread1);
executor.submit(thread2);
4、获取返回的数据
String a = (String)thread1.get().get(“A”);
String b = (String)thread2.get().get(“B”);
这里thread1.get()就可以获取到数据了,.get(“A”)是因为我用的是Map类型
这里需要注意的是:thread1.get()必须放到最后一起获取,因为如果执行这里代码会"堵塞",直到这个方法走完,所以,执行速度最快的方法放在上面最合适。
至此,就可以实现简单的多线程,自己亲测是可以使用,这里分享一下。