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

线程池的理解

 
阅读更多

原来一直对线程池心存疑惑....

 

第一个疑惑是..线程类在实例化的时候就已经指定了run函数了,也就是说,一个线程在实例化的时候,他能做什么就已经定下来了,要做别的事,就要新开一个线程...这感觉就和线程池的思想违背了,怎么样从线程池里面拿一个线程出来就可以执行呢?执行完了然后再放回去呢???

 

第二个疑惑则是,如何实现拿来放回,以及连接数的动态控制..........

 

 

今天通过看一段代码,终于得到了解答...

 

线程池其实的确是一个线程的池子,不过这个池子并不是任务池.....

每个线程的作用就是,从任务池里面取出一个任务,然后执行这个任务....

在每个线程的run过程内部,则是一个死循环,不停的从任务池中读取任务,执行任务.

任务池可以是queue....

 

这样子看起来,其实线程池的所谓拿来放回,可能只是拿任务....

当然我只见过小型线程池,可能大型线程池真的可以拿来放回......

 

去找个大型线程池的源代码来看看......

 

 

分享到:
评论

相关推荐

    线程池  

    线程池是一种多线程处理形式,通过预先创建一定数量的线程并管理它们,以提高系统的效率和响应性。...在VC++中实现线程池,需要对Windows API有深入理解,并能够熟练运用同步机制,确保线程池的正确运行。

    C++实现线程池详解(基于boost源码以及封装等线程池)

    五、看看人家线程池怎么写的 - 要理解精髓 六、线程池应用场景与实践 6.1 服务器应用 6.2 数据处理与计算密集型任务 6.3 图形界面与事件驱动程序 七、C++线程池高级应用与实际案例 7.1 基于负载均衡的任务分配策略 ...

    多线程写法(精易模块线程池和鱼刺模块线程池)

    在IT行业中,多线程是程序设计中的一个重要概念,特别是在处理并发操作时,如网络服务、数据处理和用户界面更新等。多线程允许程序同时执行...通过源码学习,我们可以深化对多线程和线程池的理解,提升我们的编程能力。

    简单线程池与线程池检查的实现

    总结来说,这个主题涵盖了线程池的基本概念、实现原理以及线程池的检查和维护,对于理解和优化多线程环境下的程序性能至关重要。通过源码分析和定制工具,开发者可以更好地控制和监控线程池,提升系统的稳定性和效率...

    Quartz 线程池

    Quartz 是一个开源的作业调度框架,它允许开发者在 Java ...理解其工作原理并合理配置,能够帮助我们更好地利用系统资源,提升应用的响应速度和稳定性。在开发过程中,对线程池的监控和优化是确保系统性能的重要环节。

    VC++ 线程池(ThreadPool)实现

    理解线程池的工作原理以及如何在VC++中正确使用它,对于编写高性能的多线程应用至关重要。以上代码仅为简化示例,实际应用中需要考虑更多的细节,如错误处理、同步机制和资源管理等,确保线程池的稳定性和安全性。

    C++线程池,带PPT 线程池

    总之,C++线程池是多线程编程中的一个重要工具,理解和掌握其设计与实现原理对于提升C++并发编程能力至关重要。通过分析提供的PPT,开发者可以更深入地了解线程池的工作机制,以及如何在实际项目中应用和优化线程池...

    JAVA线程池原理以及几种线程池类型介绍

    ### JAVA线程池原理及几种线程池类型的详细介绍 #### 一、线程池的引入背景及重要性 在现代软件开发中,特别是在基于Java的应用程序设计中...理解线程池的工作原理及其配置细节,对于构建高性能的并发应用至关重要。

    一个简单线程池的实现

    在这个简单的线程池实现中,我们可以通过`pthread_pool.cpp`、`MainFunctionForTest.cpp`、`twork_work.cpp`、`pthread_pool.h`和`twork_work.h`这五个文件来理解其基本架构和工作原理。 首先,`pthread_pool.h`...

    C++实现的线程池

    线程池是一种多线程处理形式,它将预先创建并管理一组线程,而不是每当需要时就创建新线程。...对于初学者,理解并实现这样一个线程池可以深入理解多线程编程和并发控制的概念,对提升C++编程能力大有裨益。

    java线程池概念.txt

     corePoolSize在很多地方被翻译成核心池大小,其实我的理解这个就是线程池的大小。举个简单的例子:  假如有一个工厂,工厂里面有10个工人,每个工人同时只能做一件任务。  因此只要当10个工人中有工人是空闲的...

    vc 线程池技术源码   

    通过分析`ThreadPoolApp`源码,我们可以学习到如何在VC++环境中有效地使用线程池,理解其内部工作原理,以及如何在实际项目中进行优化。这将有助于提升我们的并发编程技能,更好地处理多任务并行和高并发场景。

    火山安卓编程线程池例子

    这个例子可能详细展示了如何在火山编程环境中构建和使用线程池来处理异步任务,这对于理解和掌握Android应用中的并发处理非常有帮助。 线程池是Java并发编程中的重要概念,同样适用于Android。它允许开发者预先配置...

    linux线程池示例程序

    这个示例程序已经过调试,可以作为一个可靠的参考,帮助开发者理解和实现自己的线程池。通过深入学习和理解这个示例,你可以掌握如何在Linux环境中有效地利用线程池优化多线程应用。同时,了解线程同步机制,如互斥...

    java线程池封装j

    理解线程池的工作原理,根据业务需求选择合适的参数,以及正确处理拒绝策略,都是实现高效并发处理的关键。在实际开发中,应结合项目特点,进行细致的线程池设计和封装,以达到最佳的并发性能。

    Django异步任务线程池实现原理

    通过以上知识点的详细介绍和实际代码示例,文章帮助开发者深入理解Django中异步任务线程池的实现原理,以及如何在实际项目中利用这些原理来提高程序的性能和响应速度。这对于提升大规模数据处理能力、优化用户体验...

    TOMCAT的线程池源码

    本文将围绕Tomcat的线程池源码进行深入剖析,旨在帮助读者理解其内部机制,并对比JDK的线程池,探讨其效率优势。 首先,我们需要了解线程池的基本原理。线程池是一种多线程处理形式,预先创建一定数量的线程,当...

    vc++线程池的经典实例

    线程池是多线程编程中的一个重要概念,它是一种线程使用模式,通过预先创建一组线程,并将它们组织成一个池,来处理到来的任务。...学习和理解线程池的实现与使用,对于提升VC++程序的并发处理能力和系统效率至关重要。

    c#线程池使用demo

    在`ExecuteTask`方法内部,我们可以看到输出当前任务ID和运行线程ID的信息,这有助于理解线程池如何调度和执行任务。 使用线程池的注意事项: 1. **不要滥用线程池**:对于短生命周期、计算密集型的任务,使用...

    深入理解Java线程池(PPT:原理+代码)

    通过剖析Java中线程池的原理,解读Java线程池源码,并给出线程池调用的示例,帮助理解线程池的基本原理。

Global site tag (gtag.js) - Google Analytics