`
XinYiTian
  • 浏览: 35644 次
  • 性别: Icon_minigender_1
  • 来自: 泉州
文章分类
社区版块
存档分类
最新评论

应用线程池(JAVA并发编程实践笔记 二)

阅读更多

<!----><!----><!---->

1. 定制线程池的大小

Ncpu = CPU 的数量

Ucpu = 目标 CPU 的使用率, 0<=Ucpu<=1

W/C = 等待时间与计算时间的比率

为保持处理器达到期望的使用率,最优的池的大小等于:

Nthreads = Ncpu * Ucpu * (1 + W / C)

也可以使用 Runtime 来获得 CPU 的数目

    int num = Runtime.getRuntime ().availableProcessors();

2. 定制 ThreadPoolExecutor

利用 new ThreadPoolExecutor(

       int corePoolSize,

       int maximumPoolSize,

       long keepAliveTime,

       TimeUnit unit,

       BlockingQueue<Runnable> workQueue,

       ThreadFactory threadFactory,

       RejectedExecutionHandler handler

) ;

<!---->3. <!---->管理队列任务

设置线程池的饱和策略可以用

     ThreadPoolExecutor.setRejectedExecutionHandler ();

      JDK 了几种不同的 RejectedExceptionHandler  

          AbortPolicy                      ( 中止策略 )

          CallerRunsPolicy        ( 调用者运行 )

          DiscardPolicy               ( 遗弃策略 )

          DiscardOldestPolicy      ( 遗弃最旧的 )

      可通过如下的形式构造

     new ThreadPoolExecutor.CallerRunsPolicy()

 

 

分享到:
评论
2 楼 XinYiTian 2010-04-07  
我觉得挺好的,是学习java并发的不错书籍,值得看许多遍
1 楼 Blithe 2009-05-23  
博主,这书中文的翻译的怎么样啊
准备看

相关推荐

    JAVA并发编程实践-线程池-学习笔记

    Java并发编程实践中的线程池是一个关键的概念,它在多线程编程中扮演着至关重要的角色,有效地管理和调度线程资源,以提高系统的性能和效率。线程池通过复用已存在的线程来减少线程的创建和销毁开销,避免了频繁的上...

    Java 并发学习笔记:进程和线程,并发理论,并发关键字,Lock 体系,原子操作类,发容器 &amp; 并发工具,线程池,并发实践

    Java 并发学习笔记: 进程和线程, 并发理论, 并发关键字, Lock 体系, 原子操作类, 发容器 & 并发工具, 线程池, 并发实践 Java是一种面向对象的编程语言,由Sun Microsystems于1995年推出。它是一种跨平台的...

    JAVA并发编程实践-构建执行程序块-学习笔记

    JAVA并发编程实践-构建执行程序块-学习笔记 JAVA并发编程实践是指在JAVA编程语言中,使用多线程、并发编程来实现高效、可靠的程序执行。构建执行程序块是指在并发编程中,使用线程安全的类来管理状态,以确保程序的...

    JAVA并发编程实践-线程执行-学习笔记

    总的来说,Java并发编程实践中的任务执行是一个涉及线程调度、线程池管理、任务生命周期控制、结果处理等多个方面的复杂主题。理解和掌握这些概念和技术,能够帮助开发者编写出更加高效、可靠的并发程序。

    java并发笔记,包含线程池

    Java并发编程是Java开发中的重要领域,特别是在大型系统和服务器端应用中,高效地利用多核处理器资源,实现高并发性能至关重要。线程池作为Java并发处理的核心工具,它的理解和运用是每个Java开发者必备的技能。 ...

    Java并发实践-学习笔记

    11. **案例分析与实战**:笔记可能包含实际的并发编程案例,帮助读者更好地将理论知识应用到实践中。 通过深入学习这份"Java并发实践-学习笔记",开发者能够提升自己在处理多线程和并发问题上的能力,从而设计出更...

    多线程与高并发编程笔记、源码等

    标题“多线程与高并发编程笔记、源码等”表明了资源的核心内容,涵盖了多线程和高并发编程的理论与实践。多线程允许一个应用程序同时执行多个任务,而高并发则指系统能够处理大量并发请求的能力。这两个概念在现代...

    【Java技术资料】-(机构内训资料)Java并发体系学习思维笔记

    这份机构内训资料,通过“Java并发体系学习思维笔记”,为我们揭示了Java并发编程的核心概念、最佳实践以及常见问题的解决策略。 首先,我们需要理解Java并发的基础,这包括线程的创建与管理。Java提供了两种主要的...

    Java高并发视频教学,并带实战java高并发程序设计,高并发面试题目

    "java高并发.txt"可能是一份文档或笔记,涵盖了Java并发编程的核心概念和技术。它可能详细解释了线程的生命周期、线程安全问题(如数据竞争、活锁、死锁)、并发工具类(如CountDownLatch、CyclicBarrier、Semaphore...

    Socket网络编程学习笔记之---使用线程池提高性能

    通过以上实践,我们可以更好地理解如何在Socket网络编程中利用线程池优化性能,这对于开发高并发的网络服务具有重要的指导意义。在实际项目中,结合具体的业务需求调整线程池参数,可以进一步提升系统的稳定性和效率...

    Java线程编程学习笔记(二)

    这篇“Java线程编程学习笔记(二)”很可能是对Java并发编程深入探讨的一部分,特别是涉及多线程示例的实践应用。我们将从标题、描述以及标签来推测可能涵盖的知识点,并结合"Multi-Threads Demo"这一压缩包文件名来...

    Java并发编程实战(中文版).rar

    《Java并发编程实战》是一本深入探讨Java多线程和并发编程的经典著作,它为开发者提供了全面、实用的指导,帮助他们理解和解决并发问题。这本书的中文版使得更多的中国开发者能够受益于其丰富的知识和实践经验。 ...

    JUC并发编程学习笔记(硅谷)

    Java并发编程是Java开发中的重要领域,特别是在大型分布式系统或者高并发应用中,对线程安全和性能优化的理解与实践至关重要。"JUC并发编程学习笔记(硅谷)"很可能包含了关于Java并发工具集(Java Util Concurrency, ...

    实战Java高并发程序设计-试读

    《实战Java高并发程序设计》是一本专注于Java并发编程实践的书籍,试读版提供了前两章的内容,为读者提供了一个初步了解并发编程基础的窗口。在Java领域,并发编程是构建高性能、高效率系统的关键技术,对于软件开发...

    Java学习资料-并发编程.zip

    首先,"Java并发编程笔记"这部分内容可能涵盖了以下几个关键知识点: 1. **线程基础**:线程的创建、启动、中断和销毁,以及如何使用`Thread`类和`Runnable`接口来创建线程。 2. **并发控制**:包括`synchronized`...

    并发编程笔记(httpswww.bilibili.comvideoav84491203p=279).zip

    本笔记主要针对Java平台,深入讲解并发编程的原理、模式和实际应用。 **并发编程原理** 并发编程的核心原理包括线程、进程、同步与通信、线程安全以及死锁等概念。线程是操作系统调度的基本单位,而进程则是一个...

    Java基础尚硅谷宋红康学习笔记

    10. **Java并发编程**:包括线程池、锁机制(如synchronized、ReentrantLock)、并发容器(如ConcurrentHashMap、CopyOnWriteArrayList)以及并发工具类(如CountDownLatch、CyclicBarrier)。 这些是Java基础知识...

    并发编程笔记+包含所有

    本笔记主要聚焦于Java平台上的并发编程,旨在帮助开发者理解和掌握相关的核心概念、工具和最佳实践。 一、线程与进程 在并发编程中,我们首先需要理解“线程”和“进程”的概念。进程是操作系统分配资源的基本单位...

    并发编程笔记1.zip

    在本笔记中,我们将深入探讨并发编程的基础概念、核心原理以及在实践中遇到的问题与解决方案。 1. **线程与进程** - **进程**:是操作系统资源分配的基本单位,每个进程都有独立的内存空间。 - **线程**:是执行...

    Java demo 算法笔记

    线程池是Java并发编程的重要组成部分,它通过复用已创建的线程来减少线程创建和销毁的开销。Java的ExecutorService和ThreadPoolExecutor提供了线程池的实现。理解线程池的工作原理,以及如何根据实际需求调整线程池...

Global site tag (gtag.js) - Google Analytics