`
xfxlch
  • 浏览: 163536 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Executors.newFixedThreadPool实例

    博客分类:
  • Java
 
阅读更多
在线程池中,有一个是专门定义单线程的线程池,是Executors.newFixedThreadPool。为什么要单独定义一个池,这个池有什么特别的地方呢?
1.主要是这个线程池可以在挂掉或者出异常的情况下,重新启动一个线程来执行接下去的任务。这个对开发人员就比较方便了。
/**
 * <br>
 * do what you want to do and never stop it.
 * <br>
 */
package com.luch.thread;

import java.util.Random;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * @author Jack
 * Jul 13, 2014
 * <br>
 */
public class SingleThreadExecutorDemo implements Runnable{

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		SingleThreadExecutorDemo demo = new SingleThreadExecutorDemo();
		ExecutorService  exec =  Executors.newSingleThreadExecutor();
		exec.execute(demo);

	}

	public void run() {
		int temp = 0;
		int i = 0;
		while(true){
			int j = new Random().nextInt(100);
			System.out.println("temp="+ temp + ",j=" + j + ",i=" + i++ );
			try {
				if(temp==0 && j > 90){
					temp = j/0;
				}
				Thread.sleep(100);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				temp = 0;
			}
			
		}
		
	}

}
分享到:
评论

相关推荐

    Executor,Executors,ExecutorService比较.docx

    1.newFixedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。`` 2.newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列...

    C++ library for executors.zip

    C++ library for executors

    tcp_thread_java.zip_Java 线程池_java TCP线程

    java简单线程池的实现,使用jdk的Executors.newFixedThreadPool方法来实现固定大小线程池

    java 线程Sample

    ExecutorService exec=Executors.newFixedThreadPool(2); Thread1 th1 = new Thread1("CRTA"); th1.setDaemon(true); th1.setPriority(MIN_PRIORITY); th1.start(); Thread1 th2 = new Thread1("CRTB");

    两种线程池写法

    ThreadPoolManager:Executors.newFixedThreadPool(num * 2);// 创建一个可重用固定线程数的线程池,以共享的无界队列方式来运行这些线程 threadPool: 线程池 创建线程池,销毁线程池,添加新任务

    Android-Android多线程下载项目

    本项目是一个展示多线程下载的项目,使用线程池(Executors.newFixedThreadPool(2))对线程的管理,支持断点续传,第一个版本默认可以两个线程同时下载。

    rxlib:一组用于Java的实用程序

    // Executors.newFixedThreadPool(16); 执行的thread数量固定,但当thread 等待时间(IO时间)过长时会造成吞吐量下降。当thread 执行时间过长时无界的LinkedBlockingQueue可能会OOM。 // new ThreadPoolExecutor...

    Executors 使用实例

    java Executors 使用实例 concurrent.ExecutorService

    面试官这样问Java 线程池,我的回答让他竖起了大拇指!

    前言 这周我投递出了简历,岗位是java后端开发工程师。这周美团面试官给我进行了面试。面试过程中他问了线程池...Executors.newFixedThreadPool(100);//创建固定大小的线程池 Executors.newSingleThreadExecutor();//创

    report-batch-renderer:用于批量渲染包括PDF和Excel的报告的实用程序

    ExecutorService executorService = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());项目中支持将本地路径中的html文件批量转换为PDF,放入本地文件系统中。使用说明List htmlsPaths = ...

    Android图片上传下载小框架

    private static ExecutorService threadPool = Executors.newFixedThreadPool(LOADING_THREADS); private SmartImageTask currentTask; public SmartImageView(Context context) { super(context); } ...

    java 线程池管理类:Executors_.docx

    java 线程池管理类:Executors_.docx

    Java开发手册(阿里巴巴带-alibaba-IDE插件)

    《阿里巴巴Java开发手册》是阿里内部Java工程师所遵循的开发规范,涵盖编程规约、单元测试规约、异常日志规约、MySQL规约、工程规约、安全规约等,这是近万名阿里Java技术精英的经验总结,并经历了多次大规模一线...

    银行业务调度系统

    Executors.newScheduledThreadPool(1).scheduleAtFixedRate(new Runnable() { public void run() { Integer number = NumberMachine.getInstance().getCommonManager().generateNewManager(); System.out....

    Java进阶之ThreadPoolExecutor

     · 使用Executors.newFixedThreadPool(int)  · 使用Executors.newSingleThreadExecutor()  其中使用2,3,4来创建线程池时,其内部也是通过ThreadPoolExecutor来生成线程池的。我们来分析下...

    Java线程并发控制基础知识

    线程池  推荐用ThreadPoolExecutor的工厂构造类Executors来管理线程池,线程复用线程池开销较每次申请新线程小,具体看代码以及注释 ... * 建议使用Executors.newFixedThreadPool(n) *

    java socket线程池

     //Runtime的availableProcessors()方法返回当前系统的CPU的数目 //系统的CPU越多,线程池中工作线程的数目也越多 executorService= Executors.newFixedThreadPool(   Runtime.getRuntime()....

    CacheImage:使用 RAM 和 SD 卡缓存来显示一些资源以提高性能和离线功能

    README 使用Executors.newFixedThreadPool(5/poolSize/) 固定了5个线程来执行异步操作, 但是由于网络费时,会出现性能瓶颈,掉帧等情况。 并且 listview 会有图片错乱的问题。

    thread count

    ExecutorService exe = Executors.newFixedThreadPool(PLAYER_AMOUNT); for(Player p:plays) exe.execute(p); //分配线程 System.out.println("Race begins!"); begin.countDown(); try{ end.wait(); //等待...

    AtomicIntegerExample:AtomicInteger示例

    简短的示例代码: public class AtomicIntegerExample { private final ExecutorService execService = Executors . newFixedThreadPool( 100 ); private final AtomicInteger counter = new AtomicInteger ( 100_...

Global site tag (gtag.js) - Google Analytics