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