java线程
2016-03-24 00:56
627 查看
创建线程:方法1:创建任务,使用Thread类来开启这个任务/执行这个进程: 1,创建任务 public class MyThread implements Runnable{ } public class MyThread implements Runnable{ /*将任务放在这里*/ Thread.yield();//这里是对线程调度器(java中线程机制的一部分,可以讲cpu从一个线程中移到另一个线程 //它表明:我已经执行完了声明周期中的重要部分,此时正是切换到其他任务执行一段时间的大好时机。不过这完全是选择性的) Thread T=new Thread(new MyThread()); T.start(); }
方法2:使用Executor(Java.util.concurrent)包中的执行器Executor
public class CachedThreadPool{ public static void main(String []args){ ExecutorService exec=Executors.newCachedThreadPool(); exec.execute(new MyThread()); exec.shutdown();//可以防止新任务被提交给这个Executor,当前线程(这里是main()的线程)将继续运行在shutdown被调用之前所提交的所有任务 } }上面的newCachedThreadPool会创建与所需线程数相同数量的线程,并且在回收旧线程是停止创建新线程。
它是比较合理的Executor,只有当这种方式发生问题时才需要切换到其他的Executor。
newFixedThreadPool(5),一次创建5个线程,这种方式可以节省时间,因为你不用为每个任务都固定的付出创建线程的开销。
newSingleThreadExecutor();这像是一个线程的newFIxedThreadPool(1)如果向它提交了多个任务这些任务将会排队执行。
相关文章推荐
- java多线程同步案例之--生产者消费者模型
- 131. Palindrome Partitioning | Java最短代码实现
- javabeans入门相关
- spring学习笔记(16)趣谈spring 事件机制[2]:多监听器流水线式顺序处理
- JDK1.8源码分析之HashMap(一) (转)
- Eclipse中的Android项目编译后没有生成R文件的两种原因
- windows7设置java的环境变量
- 细说Maven——Maven 入门篇(下)
- 安装java之后没有jre目录
- 细说Maven——入门篇(上)
- Java就业指导
- java indexOf()方法使用(转载)
- Java 增强型的for循环 for each (转载)
- Java线程模型的理解
- 一个通过struts2获取多选框(checkbox)的坑
- Java 并发工具包 java.util.concurrent 用户指南
- Java入门编程(作业)Time3实现总结(一)
- Git 和 Github安装和使用,关联eclipse
- java.lang.IllegalArgumentException出错原因
- 《小平工作日志》java抛异常、捕异常的简单介绍