`

控制多个线程结束,后再执行统计结果

 
阅读更多

控制多个线程结束,后再执行统计结果 

 

见:ThreadFactory 类中 :

 

public void Generate_thread(String filename) throws SAXException, ParserConfigurationException, Exception{
  //导出临时文件
  while (size <= count)
  {
   
   if(THREAD_NUMBER < 5){
    System.out.println("thread: "+size+" begin");
    System.out.println(THREAD_NUMBER);
    THREAD_NUMBER++;  ///  在  ThreadUtil   中   依次 减少  
    ThreadUtil tu =new ThreadUtil(size*BASE_NUMBER,((size+1)*BASE_NUMBER < number)? (size+1)*BASE_NUMBER : number, tableName,pool.getConnection(), temPath);
    tu.start();
    size++;
   }
   
  }
  //等待所以线程结束
  while(THREAD_NUMBER>0){
   
  }
   //合并临时文件 
   hbtest.hbExcel((int)count,filename);
  
 }

 

分享到:
评论

相关推荐

    linux 文件字数统计的多线程程序

    3. **内存管理模块**:创建和管理共享内存,确保多个线程安全访问。 4. **线程同步模块**:使用信号量或者互斥锁实现线程间的同步,防止数据竞争。 **三、主要功能的实现** 1. **主函数模块流程图** - 初始化 - ...

    在Delphi中利用多线程实现数据采集的方法.doc

    1. **概念**:多线程是指在一个进程中创建多个线程来执行不同的任务。每个线程都有独立的执行路径,可以在同一时间内处理不同的任务。 2. **优点**: - 提高了程序的响应速度和运行效率。 - 可以充分利用多核...

    线程+监听技术 简单的例子 和详细讲解

    监听器配置,java监听器,登陆监听,Listener,struts监听器配置,用户在线统计 ...显然,按传统方法设计的程序,无论是单道执行的程序,还是由多个进程并发执行的多道程序,就每个程序本身而言,都是由单线程组成的。

    java多线程分页查询

    - **资源管理**:确保每个线程完成任务后能够正确释放所占用的资源,避免内存泄漏等问题。 - **异常处理**:增加适当的异常处理机制,提高系统的稳定性和可靠性。 综上所述,多线程分页查询是一种非常有效的技术...

    多线程同步演示(采用CreateThread()和WaitForMultipleObjects()函数)

    在赛跑模拟的例子中,`WaitForMultipleObjects()`可能被用来等待所有参赛者的线程结束,以确保所有赛跑都已完成并可以进行结果统计。 多线程同步是防止数据竞争和确保线程安全的关键。在上述场景中,可能有共享资源...

    多线程实现文件中字母数字及其他字符的分配

    在你的场景中,线程2可能需要使用互斥锁来保护文件读取,防止多个线程同时访问同一文件。线程1和3之间的通信可以通过共享内存或信号量实现,以确保数据显示的正确性。 最后,为了改善代码质量,你应该遵循良好的...

    Delphi7-SQLMemTable 多线程修改内存表 例子.rar

    在单线程应用中,SQLMemTable的操作简单且直接,但在多线程环境中,由于多个线程可能同时访问和修改数据,就可能出现竞态条件和数据不一致性的问题。 在Delphi中实现多线程,通常会用到TThread类,这是VCL(Visual ...

    易语言-易语言多线程控制线程数量

    线程是操作系统分配CPU时间的基本单元,一个进程可以包含多个线程。控制线程数量的目的在于避免过多线程导致的资源竞争和系统负载过重,同时也能优化程序的执行效率。 1. 创建线程:在易语言中,可以通过“创建线程...

    Linux 多线程 短消息缓存

    pthread_create函数用于创建新线程,pthread_join用于等待线程结束,pthread_mutex_t类型代表互斥锁,用于保证同一时刻只有一个线程能访问共享资源,防止数据竞争。 单链表是一种常见的数据结构,适用于动态存储和...

    用Delphi编写的多线程应用实例

    线程结束后,操作系统会回收资源,通常无需手动删除线程对象。 在实际的"多线程例子"中,开发者可能会演示如何创建一个简单的线程,如何在Execute方法中执行特定任务,如何通过事件回调更新主线程UI,以及如何使用...

    WIN API 蒙特卡洛法 多线程计算PI值

    接着,使用`CreateThread`函数创建多个线程,每个线程都执行这个计算函数。为了确保数据安全和避免竞态条件,我们需要使用同步机制,如`CriticalSection`或者`Mutex`,来保护共享数据(例如,存储落在圆内的点数和总...

    java程序设计于开发 第七讲 多线程

    例如,我们可以使用ExecutorService和Future来更灵活地管理和控制线程池,利用CountDownLatch、Semaphore等工具类进行同步控制,或者使用CyclicBarrier和Phaser来协调多个线程的协作。 总之,Java中的多线程是复杂...

    Windows下查看进程中的线程

    一个进程可以包含多个线程,它们共享同一地址空间,但拥有各自的执行路径。查看进程中的线程可以帮助我们理解程序运行时的情况,比如CPU使用率高的原因可能是某个线程在进行密集计算,或者线程间通信出现问题导致的...

    pthread多线程求pi,linux多线程pthread,C,C++源码.zip

    例如,当多个线程同时尝试更新总点数时,可能需要加锁以防止数据不一致。 此外,为了优化性能,可能还会使用信号量(semaphore)控制并发度,限制同时进行的计算任务数量,避免过多线程导致的上下文切换开销。 ...

    基于SOCKET和多线程的应用程序间通信技术的研究.pdf

    多线程技术允许在一个进程中并发执行多个线程,每个线程拥有自己的执行上下文,但共享进程的资源。多线程可以显著提升程序的性能和响应能力,尤其是在处理I/O操作和网络通信时。 #### 多线程的优势 多线程可以提高...

    Qt 多线程实现动态波形图表

    标题中的"Qt 多线程实现动态波形图表",意味着我们将创建一个Qt应用,其中有一个线程专门用于处理波形数据的生成和计算,而另一个线程则负责更新UI上的QChart组件。QChart是Qt的图表库,可以用来绘制各种类型的统计...

    5操作系统实验报告.doc

    信号量是一种同步原语,用于控制多个线程对共享资源的访问。互斥锁(`pthread_mutex_t`)则提供一种互斥访问,确保在任何时候只有一个线程能访问特定的数据结构。 实验内容围绕着求解100000个浮点数的平均值、最大...

    linux操作系统之多线程.pdf

    为了确保多个线程对全局变量`total_words`的访问安全,实验采用了互斥锁(mutex)。`pthread_mutex_t counter_clock`定义了一个互斥锁,`pthread_mutex_lock()`和`pthread_mutex_unlock()`分别用于获取和释放锁。在...

Global site tag (gtag.js) - Google Analytics