`

ExecutorService接口的应用,创建线程池

 
阅读更多

主类:test.java

 

import java.io.IOException;

public class test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			NetworkService instance = new  NetworkService(100);
			instance.serve();//开始执行线程池
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	 
}

 

 

2、另外建的一个线程主程序

 

import java.io.IOException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

class NetworkService {
	    private final ExecutorService pool;
	    public NetworkService(int poolSize) throws IOException {
	      pool = Executors.newFixedThreadPool(poolSize);
	    }
	 
	    public void serve() {
	      for (int i =0;;i++) {
		  pool.execute(new Handler("开始执行一个任务:",i+1));
		}
	    }
	  }

class Handler implements Runnable {
  private final String taskcontent;
  private final int index;
  Handler(String taskcontent,int index) { 
	  this.index =  index;
	  this.taskcontent = taskcontent; }
  public void run() {
       System.out.println(taskcontent+index);
  }
}

 在for里面将任务全部放入到线程池里,最多只能容纳100个任务,然后执行的顺序会有所不同。

分享到:
评论

相关推荐

    在spring boot中使用java线程池ExecutorService的讲解

    1. 线程池管理器(ThreadPool):用于创建并管理线程池,包括创建线程池,销毁线程池,添加新任务。 2. 工作线程(PoolWorker):线程池中线程,在没有任务时处于等待状态,可以循环的执行任务。 3. 任务接口(Task...

    创建线程池,将多个文件按行反转

    在Java中,`java.util.concurrent`包提供了`ExecutorService`接口和`ThreadPoolExecutor`类,它们是实现线程池的关键组件。 为了实现文件内容的行反转,我们可以先按行读取文件,然后反向存储每一行,最后再将这些...

    ExecutorService线程池

    1. **创建ExecutorService实例**:根据需求选择合适的构造方法创建线程池。 2. **提交任务**:使用`execute(Runnable task)`方法提交Runnable任务,或者使用`submit(Callable<T> task)`提交Callable任务并获取Future...

    多线程简单应用-线程池

    Java中,`java.util.concurrent`包提供了ExecutorService接口,它是线程池的主要接口。常见的实现类有ThreadPoolExecutor,它允许我们自定义线程池的核心参数,如核心线程数、最大线程数、线程存活时间、工作队列...

    运用JAVA的concurrent.ExecutorService线程池实现socket的TCP和UDP连接.doc

    #### 创建线程池 在Java中,可以通过`Executors`工具类创建不同类型的线程池: - `newFixedThreadPool(int nThreads)`:创建固定大小的线程池。 - `newCachedThreadPool()`:创建一个可缓存的线程池,当线程数超过...

    Java分布式应用学习笔记07线程池应用

    在Java中,`java.util.concurrent.ExecutorService`接口提供了创建和管理线程池的能力,而`ThreadPoolExecutor`类则是其最常用的实现之一。`ThreadPoolExecutor`允许我们自定义线程池的关键参数,如核心线程数、最大...

    TOMCAT的线程池源码

    例如,Tomcat线程池提供了详细的MBean接口,允许管理员在运行时监控和调整线程池的状态,这对于故障排查和性能调优非常有帮助。 总结来说,Tomcat的线程池源码设计精巧,兼顾了性能与可管理性。通过深入学习和理解...

    java socket线程池

    ExecutorService是一个线程池接口,它继承了Executor接口,并提供了一些用于任务提交与执行管理的扩展方法。 在代码中,首先创建了一个ServerSocket对象,它监听特定端口(本例中为8000)。然后使用ExecutorService...

    Java 线程池ExecutorService详解及实例代码

    本文将详细讲解ExecutorService的原理、使用场景以及如何通过Executors类创建线程池。 1. 为什么使用线程池 线程池的主要目的是为了优化线程的生命周期管理。在处理大量并发任务时,如果每个任务都单独创建线程,...

    26_多线程_第1天(Thread、线程创建、线程池)_讲义

    在实际应用中,频繁创建和销毁线程会带来额外的开销。为了解决这个问题,Java提供了ExecutorService和ThreadPoolExecutor,它们是线程池的概念。线程池可以预先配置好一定数量的线程,当有新的任务提交时,线程池会...

    线程池管理线程demo

    Java中,我们通常使用`Executors`类提供的静态工厂方法来创建线程池,如`newFixedThreadPool(int nThreads)`创建固定大小的线程池,`newSingleThreadExecutor()`创建只有一个线程的线程池,`newCachedThreadPool()`...

    Java线程池使用说明

    3. ThreadPoolExecutor:是ExecutorService的一个重要实现,提供了创建线程池的核心功能,包括线程池的维护、任务队列的管理等。 4. ScheduledExecutorService:继承自ExecutorService,用于处理需要定时或周期性...

    Android线程池ExcutorService

    在`TreadPoolDemo`这个示例项目中,可能包含了如何在Android中使用`ExecutorService`创建线程池,提交任务,以及处理任务结果的代码实现。通过学习和理解这个示例,开发者可以更好地掌握`ExecutorService`在Android...

    android线程池案例

    1. **ExecutorService**: Java的`ExecutorService`接口是线程池的主要入口点,它提供了一种管理和控制线程的方法,如提交任务、关闭线程池等。 2. **ThreadPoolExecutor**: `ThreadPoolExecutor`是`ExecutorService`...

    android线程池项目

    通过这个"android线程池项目",你可以亲自实践如何在Android中创建线程池,提交任务,以及观察其运行效果。通过代码分析和调试,你将深入理解线程池的工作机制,提升你的Android开发技能。记得在实践中不断思考和...

    ExecutorService.shutdown()应该是在线程执行完毕后,才会去关闭

    当我们创建一个`ExecutorService`实例并提交任务时,我们可以通过调用`shutdown()`方法来关闭线程池。然而,标题指出"ExecutorService.shutdown()应该是在线程执行完毕后,才会去关闭",这意味着`shutdown()`方法...

    java线程池实例详细讲解

    在Java中,`ExecutorService`接口是线程池的主要入口,它是`java.util.concurrent`包的一部分,提供了创建、管理和控制线程池的功能。 线程池的核心概念包括以下几点: 1. **工作队列(Work Queue)**:线程池内部...

    Android开发中线程池的使用Demo

    首先,我们需要了解Java中的ExecutorService接口,它是线程池的核心接口。通过ExecutorService,我们可以提交Runnable或Callable任务,并控制线程的执行。Java提供了一些内置的ExecutorService实现,如...

    Java/Android线程池演示Demo

    二、Java的ExecutorService接口 Java的`java.util.concurrent`包提供了`ExecutorService`接口,它是线程池的主要入口。通过实现这个接口,我们可以控制线程的执行方式,如设置最大线程数、处理任务队列等。`...

    binder线程池demo

    3. **Android中的线程池**:在Android中,我们可以使用Java的`ExecutorService`和`ThreadPoolExecutor`来创建线程池。`ExecutorService`是线程池的接口,提供了管理和控制线程的方法,如提交任务、关闭线程池等;`...

Global site tag (gtag.js) - Google Analytics