递归火山软件开发平台
标题:
请教下,全盘多线程搜索文件问题
[打印本页]
作者:
4463424
时间:
2023-8-5 10:05
标题:
请教下,全盘多线程搜索文件问题
我想在全盘搜索指定文件,不用多线程耗时很长,用多线程方法没整对,请高手指点下!!!用线程池老出问题。
文件见附件
<火山程序 类型 = "通常" 版本 = 1 />
方法 我的主窗口_创建完毕 <接收事件 类型 = 整数 注释 = "当本组件及其中所有子组件均被创建完毕后发送此事件.">
参数 来源对象 <类型 = 我的主窗口 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用"挂接事件"命令时所提供的"标记值"参数值,非此方式挂接事件则本参数值固定为0.">
{
变量 句柄 <类型 = 整数>
句柄 = 取当前线程ID ()
地址哈希.插入 (句柄, "c:")
启动线程 (程序枚举, (变整数)句柄, , , )
返回 (0)
}
<火山程序 类型 = "通常" 版本 = 1 />
方法 程序枚举 <静态 类型 = 整数>
参数 路径_指针 <类型 = 变整数 注释 = "提供启动时传递到线程函数的用户参数值1">
{
变量 文件查找 <类型 = 文件查找类>
变量 路径 <类型 = 文本型>
变量 临时名称 <类型 = 文本型>
路径 = 地址哈希.取值 ((整数)路径_指针)
临时名称 = 文件查找.寻找文件 (路径 + "\" + "blender.exe", , )
<折叠> 判断循环 (临时名称 != "")
{
调试输出 ("------------------------------------------")
调试输出 (路径 + 临时名称)
调试输出 ("------------------------------------------")
临时名称 = 文件查找.寻找文件 ("", , )
}
临时名称 = 文件查找.寻找文件 (路径 + "\" + "*.*", 文件属性.子目录, 文件属性.临时文件 + 文件属性.系统文件 + 文件属性.隐藏文件)
如果真 (临时名称 != "")
{
变量 路径2 <类型 = 文本型>
变量 句柄 <类型 = 整数>
判断循环 (临时名称 != "")
{
路径2 = 路径 + "\" + 临时名称
句柄 = 取当前线程ID ()
地址哈希.插入 (句柄, 路径2)
启动线程 (程序枚举, (变整数)句柄)
临时名称 = 文件查找.寻找文件 ("", 文件属性.子目录, 文件属性.临时文件 + 文件属性.系统文件 + 文件属性.隐藏文件)
}
地址哈希.删除 (句柄)
}
返回 (0)
}
复制代码
欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/)
Powered by Discuz! X3.4