您的位置:首页 > 编程语言 > Java开发

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)如果向它提交了多个任务这些任务将会排队执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: