java线程

创建线程:方法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线程)