`

实现一个线程池

    博客分类:
  • Java
 
阅读更多

public class SjgxrwStartQuest extends AbstractQuest {

 @Override
 public void execute() throws Exception {
  //先取出所有的任务一

  List<YqxzrwBO> xzrwList = sjgxService.getXyxzrw();
  if(xzrwList==null || xzrwList.isEmpty()){
   return;
  }
  for(YqxzrwBO bo : xzrwList){
   String className = bo.getZxl();
   if(className==null || "".equals(className)){
    bo.setZt("2");
    sjgxService.updateRwzt(bo);
    continue;
   }
   bo.setCfcs(bo.getCfcs()+1);
   bo.setZt("1");
   sjgxService.updateRwzt(bo);
   AbstractIdeaDataDownload download = (AbstractIdeaDataDownload)BeanFactory.getBean(className);
   download.setYqxzrwBO(bo);
   BatchTaskThreadPoolService.singleton().execute(download);
  }
 }

 @Override
 public boolean isStart(long prevExecuteTime) throws Exception {
  if(prevExecuteTime==0){
   long now = System.currentTimeMillis();
   if(now - getSystemStartTime() < 2*60*1000){
    sjgxService.updateRwcshzt();
   }
  }
  return sjgxService.getSfczxzrw();
 }
 
 @Autowired
 private SjgxService sjgxService;

 public SjgxService getSjgxService() {
  return sjgxService;
 }

 public void setSjgxService(SjgxService sjgxService) {
  this.sjgxService = sjgxService;
 }

分享到:
评论

相关推荐

    Qt实现线程池开发实例

    Qt是一个跨平台的C++图形用户界面应用程序开发框架,它提供了丰富的功能和工具,包括对多线程的支持。在实际应用中,线程池是一种有效的管理并发任务的方式,它可以优化系统资源的利用,提高程序的响应速度。本实例...

    这是一个使用C++实现的简易线程池.zip

    这是一个使用C++实现的简易线程池.zip这是一个使用C++实现的简易线程池.zip这是一个使用C++实现的简易线程池.zip这是一个使用C++实现的简易线程池.zip这是一个使用C++实现的简易线程池.zip这是一个使用C++实现的简易...

    基于liunx实现的线程池

    基于liunx实现的线程池 线程实现继承Worker_Base,实现virtual int svc() = 0; ThreadPoolMgr::create(int size)创建并启动线程池 void ThreadPoolMgr::perform(Worker_Base *woker);执行线程工作,子线程会调Worker_...

    visual c++实现线程池的例子threadpooldemosrc.rar

    在Windows环境下,Visual C++(VC++)提供了多种方式来实现线程池,其中包括使用Microsoft的 ConcRT(Concurrent Runtime)库和自定义实现。这个“threadpooldemosrc.rar”压缩包中的示例代码可能是为了演示如何在...

    c++ 实现的线程池(linux环境下)

    本文将深入探讨如何在Linux环境下使用C++实现一个线程池,以及它的工作原理和重要性。 首先,线程池是由多个工作线程组成的集合,这些线程预先启动并在需要时执行任务。这样可以避免频繁地创建和销毁线程,减少系统...

    一个简单线程池的实现

    当有新的任务提交时,线程池会选择一个空闲的线程来执行任务,而不是每次都需要创建新的线程,这样可以避免频繁的线程创建和销毁带来的开销。 `twork_work.cpp`和`twork_work.h`文件可能定义了一个工作单元(Work ...

    c语言实现线程池

    本文将深入探讨如何在Linux环境下利用C语言和pthread库实现一个线程池,以满足多生产者和消费者的场景需求。 线程池的基本概念是预先创建一组可重用的线程,这些线程在完成任务后并不立即销毁,而是等待新的任务...

    linux线程池示例程序

    在Linux环境下,我们可以使用标准库如POSIX线程(pthread)来实现线程池。以下是一个简单的线程池设计步骤: 1. **初始化线程池**:创建一定数量的工作线程,并初始化任务队列。 2. **创建任务**:定义任务结构体,...

    C++ 11下实现的线程池

    因此,要实现一个线程池,我们需要利用C++11提供的线程、同步和队列等工具。以下是一些关键知识点: 1. **线程类(std::thread)**:这是C++11引入的用于创建和管理线程的类。每个`std::thread`对象代表一个操作...

    C语言实现的简单线程池

    C语言实现的简单线程池

    c++ 线程池 即用版

    实现线程池的一个重要组件是任务队列。任务队列通常是一个先进先出(FIFO)的数据结构,用来存储待处理的任务。当新任务被提交到线程池时,它们会被添加到队列尾部,然后由空闲线程取出并执行。线程池的内部机制负责...

    线程池原理及创建(C++实现)

    4. **任务接口 (CJob)**:这是一个抽象基类,定义了一个`Run`方法,所有的任务类都需要从它继承并实现这个方法。`Run`方法包含任务的具体逻辑。 5. **任务队列**:用于存储待处理任务的数据结构。线程池中的工作线程...

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

    二、实现线程池可以按照以下步骤进行 三、简单的C++线程池代码示例 四、 基于boost编写的源码库 - 线程池 4.1 基于boost编写的源码库地址 4.2 boost线程池的先进先出、后进先出、优先级代码示例 五、看看人家线程池...

    Java实现通用线程池

    PooledThread是一个线程类,继承自Thread类,用于实现线程池中的线程;ThreadPool是一个线程池类,用于管理线程池中的线程。 ThreadTask接口定义了一个run方法,用于执行线程池任务;PooledThread类继承自Thread类...

    Windows下一个比较完美的线程池实现和示例

    Windows下一个比较完美的线程池实现和示例 本线程池提供了如下功能: 1.能根据任务个数和当前线程的多少在最小/最大线程个数之间自动调整(Vista后的系统有 SetThreadpoolThreadMaximum 等函数有类似功能); 2.能方便...

    用完成端口实现的仿 QueueWorkItem 接口的线程池

    本篇文章将深入探讨如何利用I/O完成端口实现一个线程池,以及其核心组件`QueueWorkItem`接口。 首先,线程池是通过减少线程创建和销毁的开销来提升性能的。传统的多线程模型中,每当有新任务到来时,都需要创建新的...

    使用Vector实现简单线程池

    在实际项目中,使用标准库提供的`ExecutorService`和`ThreadPoolExecutor`通常比自己实现线程池更安全、更可靠,因为它们经过了大量的测试和优化,具有丰富的功能和良好的社区支持。但是,自定义线程池的实现可以...

    Linux C++ 服务器之线程池 C++11

    本文将深入探讨如何在Linux环境中使用C++11标准来实现一个线程池,这在高并发的socket服务器中非常关键。线程池是提高系统效率、优化资源分配的一种策略,它能有效地管理多个线程,避免频繁地创建和销毁线程带来的...

    Java 实现简单的线程池

    用java实现的线程池,自己是初学着,程序参考网上。

    C++简单线程池设计

    使用C++和pthread库实现线程池时,需要注意互斥量的使用、条件变量的正确操作、线程的创建和销毁以及资源管理等问题。所有的这些操作都必须保证线程安全,避免出现资源竞争和死锁的情况。 ### 结语 设计一个线程池...

Global site tag (gtag.js) - Google Analytics