书香 发表于 2023-5-22 04:05

【多线程对写配置项的影响】

本帖最后由 书香 于 2024-2-10 04:52 编辑

我们在开发软件的时候,可能会遇到多条线程写配置项(ini文件)的问题,那会不会相互干扰?比如2个线程同时写配置项然后其中一个记录失败,本节我们来探究一下这个问题

源码:

代码如下:
.版本 2
.支持库 shell

.程序集 窗口程序集_启动窗口
.程序集变量 路径, 文本型
.程序集变量 a, 整数型
.程序集变量 b, 整数型

.子程序 __启动窗口_创建完毕

路径 = 取特定目录 (3) + “test.ini”

.子程序 _按钮1_被单击

线程_启动 (&子程序1)

.子程序 子程序1

.判断循环首 (真)
    a = a + 1
    写配置项 (路径, “datta”, “a”, 到文本 (a))

.判断循环尾 ()

.子程序 _按钮2_被单击

b = b + 1
写配置项 (路径, “data”, “b”, 到文本 (b))


我们一共有2个按钮,当按钮1按下的时候,我们使用多线程加载死循环,相当于高频次写配置文件,那么当我们点击按钮2的时候,是否每一次都能成功?如果不成功说明多线程下同时写配置文件会产生冲突,反之则不会


具体测试方法
①:先点击按钮1,开始高频写配置文件
②:点击按钮2,查看写到桌面的配置文件是否正常写入了b=1
③:再次点击按钮2,再次查看写到桌面的配置文件是否正常写入了b=2
④:重复点击按钮2,确定是否每次都可以正常写出

结论:
通过测试,每次点击按钮2,都可以正常写入,也就是多线程下不会冲突,应该是内部有排队等待机制


(点击返回课程目录:https://www.52hb.com/thread-58658-1-1.html)




sjtkxy 发表于 2023-5-22 04:40

美好映像 发表于 2023-5-22 07:54

继续课程

老飞飞 发表于 2023-5-23 11:10

方法很不错,感谢分享

放过羊 发表于 2023-8-15 13:04

学习到了。。。。

红颜白骨 发表于 2024-5-31 19:20

感谢分享!!
页: [1]
查看完整版本: 【多线程对写配置项的影响】