线程实践小记
来源:互联网 发布:网络信息安全局电话 编辑:程序博客网 时间:2024/06/06 00:55
无需返回产生结果的任务可以通过extends Thread或者implements Runnable实现
启动一个线程的方式如下
Thread thread = new Thread(new Runnable);
或者
Thread thread = new MyThread();
thread.start();
同时还可以将自己的线程交付给线程池来进行管理
ExecutorService service = Executors.newSingleThreadPool(); // 单线程线程池
service.submit(Runnable r);
这个处理结果将返回Future<?>,如果调用get方法的话,将返回null
对于需要产生结果的任务可以通过implements Callable实现
可以通过如下三种方式获取Callable对象的处理结果
1、Callable<T> callableTask = new CallableTask<T>();
callableTask.call();
2、Callable<T> callableTask = new CallableTask<T>();
FutureTask<T> task = new FutureTask<T>(callableTask);
task.get(); // 调用get方法时将阻塞至产生结果
3、ExecutorService service = Executors.newSingleThreadPool();
Callable<T> callableTask = new CallableTask<T>();
service.submit(callableTask);
submit之后将返回一个Future<T>对象,通过调用get可以获取到处理结果
- 线程实践小记
- 线程小记
- 线程小记
- 线程小记
- 线程小记
- Scrum 过程实践小记
- openNF tutorial 实践小记
- Python mysql实践小记
- CE 线程小记
- GCD之线程小记
- java线程小记
- Java线程小记
- 线程同步问题小记
- 【转】 Scrum 过程实践小记
- 碰到的线程问题小记
- 小记——linux线程
- JDK8 之线程Thread小记
- JDK8 之线程Thread小记
- Deploy Location的位置设置 Tomcat5.5?
- Dec, 22
- TXT中的BOM
- GridView的表头和行的样式控制
- javascript小技巧
- 线程实践小记
- 使用VC2005/2008/2010编写的程用程序 部署时不需要安装运行库的方法
- linux脚本学习
- 拓扑图巨头TWaver
- 对象用等号赋值
- 编译内核时一定要make modules这一步
- linux 内核启动过程分析
- 程序员的十层楼
- [.Net疑难杂症]远程主机关闭了连接错误,Flush()或End()方法导致的错误解决方案