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

ThreadPool配置及线程分配

 
阅读更多


QueuedThreadPool的使用

jetty自己实现的thread pool

 

 

参数 描述
name 设置线程的名称,默认qtp-(thread id)
maxThreads 最大启动的线程数
minThreads 默认启动的线程数
maxQueued

不设置,使用自增长的BlockingArrayQueue

设置,使用ArrayBlockingQueue

此Queue用来存放提交执行的runnable

 

使用自增长的BlockingArrayQueue,会导致jetty撑死。

 

ExecutorThreadPool的使用

使用jdk1.5提供的concurrent.ExecutorService的实现(ThreadPoolExecutor)

这里配置参考ThreadPoolExecutor即可。

 

线程的分配及用途

acceptors指定占用,用途由Acceptor类决定

处理请求SelectChannelEndPoint.schedule()

当达到_lowResourcesConnections时,启动线程处理空闲的endpoint.

 

分享到:
评论

相关推荐

    ThreadPool UML图

    - ThreadPoolExecutor:线程池执行器,负责创建和管理线程,以及分配任务给工作线程。 - ThreadPoolConfig:线程池配置类,用于设置线程池的参数,如最大线程数、队列容量等。 在实际编程中,线程池的实现方式可能...

    threadpool

    当有任务到来时,线程池会分配一个空闲线程来执行该任务。完成任务后,线程不会被销毁,而是返回到等待状态以备下次使用。这种方式避免了频繁创建和销毁线程带来的开销。 ### 线程池的关键参数 在示例代码中,定义...

    Apache MINA 线程模型配置

    线程模型是 MINA 的核心组成部分之一,负责管理 I/O 操作中的线程分配与执行策略。 在 Apache MINA 2.0 中,线程模型有了较大的改进,提供了一个更为灵活和强大的配置选项。这使得开发者能够更好地根据自己的应用...

    线程池threadpool_src

    4. **线程复用**:线程执行完任务后不会立即销毁,而是返回线程池等待下一次分配任务,减少了线程创建和销毁的开销。 5. **线程管理**:线程池会根据系统负载动态调整线程数量,比如在系统资源紧张时,可能会减少...

    Tomat研究之ThreadPool

    3. **`ThreadPool`**:核心线程池类,维护线程的创建、销毁、分配和回收,以及监控线程池的状态。 4. **`MonitorRunnable`**:监控线程,负责监视线程池的内部状态,确保线程池正常运行。 5. **`ThreadPoolListener`...

    C#单线程及多线程演示。详细注释 源码

    在编程领域,线程是操作系统分配CPU执行时间的基本单元,它是程序执行过程中的一个独立的控制流。在C#中,理解和掌握线程的使用至关重要,无论是开发桌面应用、服务还是游戏,多线程技术都能极大地提升程序的性能和...

    threadpool 1.1 支持通用框架的线程池

    3. **线程调度器**:负责决定何时启动新的线程执行任务,或者将任务分配给已有线程。它可以是简单的轮询,也可以基于负载或优先级进行智能调度。 4. **线程工厂**:用于创建新线程。线程池允许自定义线程工厂,以...

    boost threadpool(修复内存泄露后的版本)

    Boost Threadpool库是一个高效、灵活且可定制的线程池实现,它被广泛用于多线程编程中,特别是在C++环境中。线程池允许开发者管理一组预创建的线程,而不是为每个任务创建新的线程,这能显著提高程序性能并减少系统...

    java多线程,对多线程,线程池进行封装,方便使用

    创建和销毁线程是有一定开销的,包括虚拟内存分配、上下文切换等。线程池通过重用已存在的线程,避免了频繁创建和销毁线程带来的性能损失。 2. **资源管理** 线程池可以限制系统中并发执行的线程数量,根据系统...

    ThreadSwitch_滴水_threadswitch_线程切换_

    线程切换是指在多个活动线程之间分配CPU时间的过程,这是为了实现并发执行,提高系统资源的利用率。 1. **线程创建**:在程序中,可以创建多个线程来执行不同的任务,如用户界面更新和后台数据处理。在C#中,可以...

    java自定义线程模型处理方法分享

    3. **线程池(ThreadPool)**:线程池是管理和复用线程的有效机制,它可以避免频繁地创建和销毁线程带来的开销。在Java中,可以使用`java.util.concurrent.ThreadPoolExecutor`来创建自定义线程池。通过设置核心线程...

    VB稳定的多线程

    1. **线程库和API调用**:VB6及更早版本没有内置的多线程支持,但可以通过使用Windows API函数如`CreateThread`或`AllocConsole`来创建线程。这些API函数允许VB代码直接与操作系统交互,创建并管理线程。 2. **MTA...

    多线程采集C#源代码.

    2. **任务分配**:使用`ThreadPool`管理线程,它可以高效地管理和重用线程,避免频繁创建和销毁线程的开销,适用于执行大量短期、异步的任务。 3. **线程同步**:在多线程环境中,数据共享可能会引发竞态条件和死锁...

    c++11线程与线程池Demo 完整vs2013工程

    在“ThreadPool”这个文件中,可能包含了线程池的实现细节,如线程的创建、任务的分配、线程间的通信(例如,使用`std::condition_variable`进行等待和唤醒)以及线程安全的数据结构(如`std::queue`和互斥锁`std::...

    winForm 多线程操作UI

    1. 线程:线程是操作系统分配CPU时间的基本单元,一个进程可以有多个线程。主线程通常是UI线程,负责显示和交互,而工作线程则用于执行耗时任务。 2. UI线程:WinForm应用中的UI线程负责创建和更新控件,任何对控件...

    C#多线程测试程序

    除了`Thread`类,C#还提供了`ThreadPool`,它是一个预配置的线程池,用于高效地管理和重用线程。当你需要频繁创建和销毁线程时,使用线程池更为合适。 另外,`System.Threading.Tasks`命名空间提供了Task类,它是...

    winform 多线程处理数据

    - **线程**:线程是操作系统分配CPU时间的基本单位,每个进程至少包含一个线程。在单线程应用中,所有操作都在同一线程上执行,可能导致UI冻结。多线程允许程序同时执行多个任务,提高效率。 - **主线程**:...

    C#timer及多线程编程

    根据给定文件的信息,我们可以提炼出关于C#中的Timer及多线程编程的重要知识点,具体包括以下几个方面: ### C#中的Timer概述 - **System.Windows.Forms.Timer** - 这个Timer类通常用于Windows Forms应用程序中。...

    java threadpool

    1. **线程池的工作原理**:线程池维护了一组工作线程,当有新的任务提交时,如果池中有空闲线程,就分配一个线程处理任务;如果没有空闲线程,根据线程池的策略,可能会等待、拒绝或者创建新的线程。任务完成后,...

    threadpool ultimate version

    "threadpool ultimate version" 指的可能是一个经过优化和增强的线程池实现,它旨在提高系统性能,减少线程创建和销毁的开销,并确保系统的稳定性和资源效率。 线程池的基本思想是预先创建一定数量的线程,这些线程...

Global site tag (gtag.js) - Google Analytics