找回密码
 加入
搜索
查看: 2026|回复: 3

请教一下关于模拟多线程的。谢谢!

  [复制链接]
发表于 2008-10-21 13:27:00 | 显示全部楼层 |阅读模式
我想通过多线程来实现,2个函数互相制约的,就是2个函数同时执行,setone如果提先就去把setonetime结束掉,如果setonetime如果先结束就去把setone结束掉


我写了如下代码

#include <CoProc.au3>
$setone = _CoProc("_SetOne")
$setonetime = _CoProc("_SetOneTime")

_CoProcReciver("Reciver")

Func _SetOneTime()
$begin = TimerInit()
$dif = TimerDiff($begin)
While $dif <=2000
$dif = TimerDiff($begin)
WEnd
_CoProcSend($gi_CoProcParent,"SetOneTime")
MsgBox(0, "结束SetOne", "结束SetOne", 5)
EndFunc

Func _SetOne();检测当前
这里的函数省略,就是执行一个过程
_CoProcSend($gi_CoProcParent,"SetOne")
EndFunc   ;==>_SetOne

Func Reciver($vParameter)
    If $vParameter = "SetOne" Then _CloseHandle($setonetime)
    If $vParameter = "SetOneTime" Then  _CloseHandle($setone)
EndFunc



但似乎没什么效果,2个都没有停。都在执行
 楼主| 发表于 2008-10-21 15:23:05 | 显示全部楼层
自己顶一下~~~~~~~~~~~
发表于 2008-10-21 15:35:15 | 显示全部楼层
AutoIT有多线程机制吗? 没听说过...

如果没有多线程机制, 某一时刻只是在执行一个函数,没有并行的函数...
要不把两个函数写成两个au3, 提升到进程的层面来处理
 楼主| 发表于 2008-10-21 15:55:20 | 显示全部楼层
原帖由 gzken 于 2008-10-21 15:35 发表
AutoIT有多线程机制吗? 没听说过...

如果没有多线程机制, 某一时刻只是在执行一个函数,没有并行的函数...
要不把两个函数写成两个au3, 提升到进程的层面来处理

我是用这个东东
http://www.autoitx.com/forum.php ... hlight=%CF%DF%B3%CC
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-22 05:37 , Processed in 0.074947 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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