多线程之间怎么数组共享

baody8 2018-12-03 10:12:16
线程1: 定一个简单数组 A[0]:= 'TEST';
线程2和线程3怎么读取呢?
...全文
427 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
doloopcn 2018-12-05
  • 打赏
  • 举报
回复
楼主:这是PASCAL的作用域概念错误

要让Unit2,Unit3使用同一个数组,在DELPHI中你应该将数组放在一个新Unit4中,供Thread2,3调用:
Unit2
.......

implementation
...

uses Unit4;
......
####################
Unit3
.......

implementation
...

uses Unit4;
......
#####################
Unit4
.......

var
a:array [0..6] of Integer;
implementation
......


无论你在哪一个Unit声明一个变量或常量,它的默认作用域都只能相关的域中有效,一般情况下都在implementation的上一行声明当前Unit的全局变量。
如果一个Unit被另一Unit引用,则被引用的Unit的全局变量或常量就可以在引用的Unit中直接使用
  • 打赏
  • 举报
回复
1. 你的Mytestthread没有建立实例
2. 要把GlobalArr的声明放在Testthread1的public部分
3. 要像全局变量那样使用可以把GlobalArr声明为class var
BlueStorm 2018-12-05
  • 打赏
  • 举报
回复
1.数组定义为全局变量 2.数组的读写放在临界区(CriticalSection)中,同一时间内仅允许一个线程读写数组。
  • 打赏
  • 举报
回复
引用 5 楼 baody8 的回复:
[quote=引用 2 楼 堕落恶魔_Delphi 的回复:] .....如果只是读取的话 数组定义成全局变量就行了
我描述可能不清楚,截图已补充说明了.麻烦看下谢谢.[/quote] 你引用多了, 全局变量和类无关, 所以你直接用GlobalArr[0]就行, 或者Unit2.GlobalArr[0]
baody8 2018-12-04
  • 打赏
  • 举报
回复
引用 1 楼 whb00120012 的回复:
在DELPHI 的IDE环境中,可让a[0]与一个组件关联,
线程2和线程3读取组件的值即可。

SET_PAMA( A[0]:STRING)

SET_para(label1.text);


我描述可能不清楚,截图已补充说明了.麻烦看下谢谢.
baody8 2018-12-04
  • 打赏
  • 举报
回复
引用 2 楼 堕落恶魔_Delphi 的回复:
.....如果只是读取的话 数组定义成全局变量就行了

我描述可能不清楚,截图已补充说明了.麻烦看下谢谢.
baody8 2018-12-04
  • 打赏
  • 举报
回复
线程1: 设置全局数组并赋值



线程2:引用线程1数组没办法取值

  • 打赏
  • 举报
回复
.....如果只是读取的话 数组定义成全局变量就行了
whb00120012 2018-12-04
  • 打赏
  • 举报
回复
在DELPHI 的IDE环境中,可让a[0]与一个组件关联,
线程2和线程3读取组件的值即可。

SET_PAMA( A[0]:STRING)

SET_para(label1.text);
lyhoo163 2018-12-04
  • 打赏
  • 举报
回复
多线程之间怎么数组共享,可以通过全局变量,实现茶座。但不宜对VCL操作。
源码链接: https://pan.quark.cn/s/a4b39357ea24 在本研究中,我们将详细研究如何借助Python执行数据可视化,旨在剖析2018年期间中国四个主要城市——北京、上海、广州以及深圳的空气质量状况。通过绘制反映空气质量指数(AQI)与细颗粒物(PM2.5)变化趋势的图表,我们能够深入理解这些大都市全年的空气环境质量,并明确评估其优良天气所占的比重。 我们必须首先进行数据准备工作。在当前提供的压缩文件内,名为"2018天气"的文件极有可能是数据来源,其中可能收录了涉及四个城市每日空气质量监测的详细信息。这些数据通常涵盖日期、城市名称、AQI数值、PM2.5含量等核心参数。在Python编程环境中,我们惯常运用pandas库来对这类结构化数据进行高效的处理和分析。 1. **数据导入与初步处理**: - 利用`pandas.read_csv()`方法来导入存储为CSV格式的数据资料。 - 数据整理:对数据中的空白项、非正常数值进行修正,保证数据的精确性。 - 调整日期字段的格式,确保其能够适用于时间序列分析的需求。 2. **数据深度分析**: - 针对每个城市的AQI和PM2.5数据执行统计性描述,例如计算平均值、中位数、标准偏差等指标。 - 确定空气质量良好天气的天数,即那些AQI值低于75(依据中国的空气质量评估标准)的日数。 3. **数据呈现**: - 运用matplotlib或seaborn工具绘制折线图,直观展示四个城市在2018年全年的AQI和PM2.5变化动态。 - 可通过采用不同的颜色方案和线条类型来区分不同城市的数据系列。 - 添加必要的图示元素,如日期坐标轴、城市名称标注、图表标题及图例说明,以提升图表的可读...

5,943

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧