多线程效率问题
我在项目中使用多线程处理数据遇到一些问题,请大家帮忙看看
具体实现如下:
一个主控制函数Main(),它主要用来分配线程参数和控制线程的启动
Main()示例代码如下:
for (int i = 0; i < threadNum; i++)
{
......根据线程数分配参数:beginTime,endTime(代码省略)
string[] objGpsTime= {beginGPSTime.ToString("HHmmss"), endGPSTime.ToString("HHmmss")};
//启动线程
ThreadPool.QueueUserWorkItem(new WaitCallback(AnalyseData), objGpsTime);
}
一个数据处理函数AnalyseData(beginTime,endTime),它主要用来处理不同时间段的数据
AnalyseData主要做以下动作:
1、根据传入的时间参数从数据库中取相关数据
2、遍历取出的数据进行处理(主要是做一些空间分析)
我发现不管用多少个线程最终数据处理完成的时间都是一样的
请大家帮忙分析一下什么原因
具体实现如下:
一个主控制函数Main(),它主要用来分配线程参数和控制线程的启动
Main()示例代码如下:
for (int i = 0; i < threadNum; i++)
{
......根据线程数分配参数:beginTime,endTime(代码省略)
string[] objGpsTime= {beginGPSTime.ToString("HHmmss"), endGPSTime.ToString("HHmmss")};
//启动线程
ThreadPool.QueueUserWorkItem(new WaitCallback(AnalyseData), objGpsTime);
}
一个数据处理函数AnalyseData(beginTime,endTime),它主要用来处理不同时间段的数据
AnalyseData主要做以下动作:
1、根据传入的时间参数从数据库中取相关数据
2、遍历取出的数据进行处理(主要是做一些空间分析)
我发现不管用多少个线程最终数据处理完成的时间都是一样的
请大家帮忙分析一下什么原因
...全文
相关推荐
个人总结40个Java多线程面试问题和答案
Java多线程面试问题和答案总结Java多线程是一种高级的编程技术,能够充分发挥多核CPU的优势,防止阻塞,简化模型建立,提高程序的效率和可维护性。
多线程处理大数据叠加的问题
在多线程编程中,除了线程同步和线程安全问题,还需注意线程的创建和销毁开销。频繁地创建和销毁线程会消耗大量的系统资源,降低程序的效率。因此,合理地管理线程池成为提高多线程效率的一个重要策略。
Python 多线程抓取图片效率对比
GIL的存在是为了确保在解释器层面的线程安全性,避免同一时刻多个线程对Python对象进行操作,引发数据不一致的问题。
多线程技术分享
下面将详细探讨多线程技术及其在C++ MFC中的实现。多线程技术允许一个应用程序同时执行多个任务或子任务,从而提高了程序的并发性和效率。
详解Java多线程处理List数据
使用多线程处理List数据可以将处理时间缩短,提高程序的执行效率。


