书香雅阁论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 990|回复: 0

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

[复制链接]

451

主题

474

帖子

158万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1581710
发表于 2023-5-17 02:08:18|字数:890 | 显示全部楼层 |阅读模式
LV10 站长

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

源码:

代码如下:
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
路径文本型  
a整数型  
b整数型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
路径 = 取特定目录 (3)“test.ini”
子程序名返回值类型公开备 注
_按钮1_被单击  
线程_启动 (&子程序1)
子程序名返回值类型公开备 注
子程序1  
判断循环首 ()
a = a + 1
写配置项 (路径, “datta”, “a”, 到文本 (a))
判断循环尾 ()
子程序名返回值类型公开备 注
_按钮2_被单击  
b = b + 1
写配置项 (路径, “data”, “b”, 到文本 (b))


i支持库列表   支持库注释   
shell操作系统界面功能支持库


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


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

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


(点击返回课程目录https://shuxiangyage.net/forum.php?mod=viewthread&tid=1134

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|书香雅阁论坛 ( 湘ICP备17011672号-3 )

GMT+8, 2024-11-21 17:37 , Processed in 0.085026 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表