gpt4 book ai didi

c++ - 如何为单线程 GUI 应用程序创建额外的工作线程?

转载 作者:行者123 更新时间:2023-11-30 03:11:45 26 4
gpt4 key购买 nike

我目前正在为现有的 VCL 应用程序开发新功能。该应用程序使用名为 TeeChart 的第三方包创建图表和静态图像。在一个实例中,我必须加载 200 万个数据点才能创建静态图像图表。但是,这需要一段时间才能加载,并且用户无法在应用程序中执行任何操作直到完成。因此,我更愿意创建一个工作线程来处理数据点,这样 GUI 就不会卡住。

setData() 方法设置了以下成员变量,VCL 组件将继续使用这些成员变量来创建图表:

// Holds the Y position for the image (columns)
DynamicArray<double>* mpda_XValues;

// Holds the colour for the corresponding element in the x and y
// position
DynamicArray<double>* mpda_YValues;

// Holds the z position for the image (rows)
DynamicArray<double>* mpda_ZValues;

创建工作线程需要注意哪些问题?

当所有数据处理都发生在一个方法 setData(){...} 中时,我如何使用 boost 创建线程?

最佳答案

由于您使用的是 VCL,因此查看 TThread 类可能是个好主意。从中创建一个继承类,并在与主线程通信时使用 Synchronize 方法。你可以试试看:http://docwiki.embarcadero.com/VCL/en/Classes.TThreadhttp://docwiki.embarcadero.com/RADStudio/en/Defining_Thread_Objects

关于c++ - 如何为单线程 GUI 应用程序创建额外的工作线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2046903/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com