精易论坛

标题: 求个例子 [打印本页]

作者: 冰墩墩    时间: 昨天 09:31
标题: 求个例子
多线程访问并发  (现在已经实现了)
但是 我需要把数据都保存到本地txt
用到的是 写到文件  就1个返回真
其他都返回假   好像需要队列  但是找了好久 没找到例子
这个并发  有可能一下子  返回好多数据   


  
子程序名返回值类型公开备 注
导出数据  
变量名类 型静态数组备 注
取出数据文本型 
分割数据文本型0
原始数据字节集 
如果真 (队列.弹出文本 (取出数据))
日志_输出日志 (“导出数据失败”)
返回 ()
分割数据 = 分割文本 (取出数据, #换行符, )
如果 (取数组成员数 (分割数据) = 3)
调试输出 (分割数据 [3] + 分割数据 [2]“.txt”)
原始数据 = 读入文件 (分割数据 [3] + 分割数据 [2]“.txt”)
如果 (原始数据 ≠ {  })
写到文件 (分割数据 [3] + 分割数据 [2]“.txt”, 原始数据 + 到字节集 ( #换行符 + 分割数据 [1]))
调试输出 (写到文件 (分割数据 [3] + 分割数据 [2]“.txt”, 到字节集 (分割数据 [1])))

日志_输出日志 (“分割数据错误”)
返回 ()


i支持库列表   支持库注释   
spec特殊功能支持库


作者: liuyue5086    时间: 昨天 09:31
写到文件()肯定要加许可证啊...这个不能多线程冲突的,队列用法也不能用在多线程里面弹出写到文件...
顶多压入队列,你自己弄个单线程循环去弹出保存(重点是:单线程)或者在写到文件前面和后面用(进入许可区(),退出许可区())
作者: b0y    时间: 昨天 09:49
加许可证写入 或者发送消息给主线程写入
作者: 黑咖啡    时间: 昨天 09:54
多线程保存数据到本地txt:
易的队列要使用许可保证线程安全。不要使用读入写出文件,使用打开文件,往里添加数据。可以批量添加快于单条添加。
作者: 冰墩墩    时间: 昨天 10:04
b0y 发表于 2026-3-26 09:49
加许可证写入 或者发送消息给主线程写入

.版本 2
.支持库 spec

.如果真 (队列.弹出文本 (取出数据) = 真)
    分割数据 = 分割文本 (取出数据, #换行符, )
    .如果真 (取数组成员数 (分割数据) = 3)

        原始数据 = 读入文件 (分割数据 [3] + 分割数据 [2] + “.txt”)
        .如果 (原始数据 ≠ {  })
            _进入许可区 (写出许可证)
            写到文件 (分割数据 [3] + 分割数据 [2] + “.txt”, 原始数据 + 到字节集 (#换行符 + 分割数据 [1]))
            _退出许可区 (写出许可证)
        .否则
            _进入许可区 (写出许可证)
            调试输出 (写到文件 (分割数据 [3] + 分割数据 [2] + “.txt”, 到字节集 (分割数据 [1])))
            _退出许可区 (写出许可证)
        .如果结束

    .如果真结束

.如果真结束

还是不行?是我前面 哪个地方错误了吗?

.版本 2
.支持库 EThread

            队列.压入文本 (我的数据, 假)   我压入完成后  立马就启动线程   
            启动线程 (&导出数据, , )   难道是这里有问题?
      

作者: 电脑已崩溃    时间: 昨天 10:31
加个许可证就行了
作者: tj5523    时间: 昨天 10:50
确实会多线程冲突,写入单文件只能单线程,单独线程处理写入就行了,如果写入性能不够,在想其他办法,我想应该触发不到写入瓶颈




欢迎光临 精易论坛 (https://bbs.ijingyi.com/) Powered by Discuz! X3.4