希望au4可以真的实现多线程
现在用au3编的程序,相应部分只好用Settimer来实现或用多进程来实现太痛苦了。连象ahk(ahk也不能实现多线程)里可以自动判断用户操作优先的都没有呀
于是就有了:一处卡处,处处卡住;一处挂了,全部翘翘 {:face (361):}兄弟 别指望太多 `那么努力学的话`可以`去学`VB 或 易 回复 2# renren
也会些vb,不过,好些功能用au3/ahk实现太容易了,而用vb实现写代码就繁琐多了。特别在中国还是XP时代,你用vb写,还得叫人家装上.net,还好win7已经默认就有了。当然若是vb6,不用.net的东西了,但它跟au3一样不是真正支持多线程的。 本帖最后由 netegg 于 2011-1-13 02:17 编辑
那就不是auto了,指不定叫什么了
判断优先权,你是说内置的还是什么,内置的没包括,不过可以判断优先
对了,还有一个,“一处卡处,处处卡住;一处挂了,全部翘翘”,并不是坏事,起码不会输出错误结果,如果容错率那么高的话,怎么判断运行的结果是对还是错 什么都依赖“系统” 可以问一些不是au3的问题吗?》 AU4貌似还没出来吧。 好像一般的程序用不上多线程,循环加延迟就够了 让我们一起期待吧,有优点,必然就有缺点 伪多进程代替多线程.....将就着用。 一处卡处,处处卡住;一处挂了,全部翘翘?
一处卡处?这是什么意思?虽然我能够明白你的本意。
楼主贴一个 会卡住的例子 上来吧。 蛋兄赶紧把源码贴出来.....大伙儿集体拷问一下。。。 本帖最后由 happytc 于 2011-1-15 03:56 编辑
一处卡处,处处卡住;一处挂了,全部翘翘?
一处卡处?这是什么意思?虽然我能够明白你的本意。
楼主贴 ...
pusofalse 发表于 2011-1-14 20:53 http://www.autoitx.com/images/common/back.gif
呵,明白本意就好,打错字了,本是要打“一处卡住……”
这个例子还不好举呀,au3里用adlib来模拟多线程,比如有个adlib里的函数进入死循环了,你看看,不管是主程序还是别的Adlib里的函数还会不会执行,比如:Global $i = 0, $j = 0, $hw
AdlibRegister("Func1")
AdlibRegister("Func2")
$hw = GUICreate("")
GUISetState()
While True
$i += 1
Sleep(200)
WEnd
Func Func1()
If $i > 10 Then
While 1
Sleep(100)
WEnd
EndIf
EndFunc
Func Func2()
$j += 1
WinSetTitle($hw, "", $i & "+" & $j)
EndFunc若是真的多线程的,不管Func1是否卡住,Func2都会一直执行的 单线程(主线程)卡住了还可运行哪还叫单线程?
先启动个定时器
如果卡住的线程有个可以控制的句柄(或其他可控的...)
可以把它KILL掉(或交换设置使其不能卡住的动作)
就能解除主线程的挂起状态。。。
! 单线程(主线程)卡住了还可运行哪还叫单线程?
先启动个定时器
如果卡住的线程有个可以控制的句柄(或其他 ...
_ddqs. 发表于 2011-1-15 04:41 http://www.autoitx.com/images/common/back.gif
看来你没真正了解过线程阻塞.
13#不过是举例而已,真正阻塞时,任你再牛13,也是不可能kill掉的.