happytc 发表于 2011-3-21 01:54:21

哎,autoit不准备实现多线程了,太遗憾了!

看它的Todo:就有下面的
Things NOT on the ToDo List里,居然第一条就是:Multi-threading ,理由是:

Multi-threading: It's too late to do this now. The changes required to AutoIt are too great. AutoIt was never intended to be multi-threaded. Writing a multi-threaded application requires an entirely different mindset when writing a program. We did not start with that mindset and trying to retrofit something as significant as multi-threading onto the existing code base is not worth the time or effort. It would be far more beneficial to re-write AutoIt and add in multi-threading that way. That, however, is not planned and is a massive undertaking.

整个链接如下:http://www.autoitscript.com/trac/autoit/wiki/AutoItNotOnToDoList
看来是没有希望了。也是开始时,始做者没有想实现这么多功能,只当autoit相当于扩大版的bat而已。
现在想实现,几乎所有的函数都得重写一下,工程量太多了。但的确多线程太重要了。当你用autoit写了太多功能时,就会发现,经常会若一个功能/界面没有退出,别的功能/界面无法调出来的。

itljl 发表于 2011-3-21 09:16:01

最烦就是“只当autoit相当于扩大版的bat而已”
另外。"当你用autoit写了太多功能时,就会发现,经常会若一个功能/界面没有退出,别的功能/界面无法调出来的。"
并不是有没有多线程的问题,而是你会不会写程序的问题。
你写的程序没有按照你的设想运行不要第一时间就怪语言的问题。
VB也是单线程,但是用的人还是那么多。

蜘蛛抱蛋 发表于 2011-3-21 10:25:03

列表里还有

[*]Object-Oriented syntax 面向对象语法
[*]AutoIt for other operating systems 跨平台
[*]Modularized Compilation/variable sized compiled files 编译模块化(只嵌入需要的解释器)
[*]FileInstall() accepting variables for the source FileInstall函数的第一个参数接受变量
[*]New Opt()/AutoItSetOption() flags 增加程序运行方式选项

love5173 发表于 2011-3-21 10:29:03

一般来说,大型软件不会用AU3来写的。
越强大的软件跟系统的切合度越高,而AU3是无法跨越window平台的,其实我用AU3也只是个过渡而已,因为代码没那么复杂。真正的程序员,起码要把C用的炉火纯青!

蜘蛛抱蛋 发表于 2011-3-21 10:38:53

回复 4# love5173


    au3谁都可以写,程序员不是谁都能当……

love5173 发表于 2011-3-21 10:45:35

用AU3更像是堆积木,积木本身不是我们自己造的,没什么成就感,只是方便用而已

蜘蛛抱蛋 发表于 2011-3-21 10:48:39

回复 6# love5173


    你没有理解AU3作者的初衷

3mile 发表于 2011-3-21 12:03:04

呵呵,刚开始以为就是堆积木.
后来学了一点之后,觉得算法才是王道.(用尽量少的积木?搭得最快?)
再后来才发觉原来结构合理才最重要.(为了搭的更高更大?)
以后....
我也不知道会发现什么才最重要....

netegg 发表于 2011-3-21 12:30:35

回复 8# 3mile
到最后,你会发现,原来地的平整度才最重要

3mile 发表于 2011-3-21 12:33:04

回复 9# netegg
哈哈,精辟

netegg 发表于 2011-3-21 12:39:28

回复 10# 3mile
和seo的作用一样,程序需要优化,比如怎样安排过程的步骤,当然,这也是结构的一部分

menfan1 发表于 2011-3-21 12:44:24

看来AU4泡影啦

Cygerist 发表于 2011-3-21 13:17:47

AU3只是用来解决日常的简单问题,它比大型开发工具方便的多,对于专业的应用问题,应该由合适的开发环境和专门的程序员来做。不过AU3可能会将一个不懂程序的人导向专业的程序员,你要是觉得AU3太局限,你应该朝更高层次的方向发展,比如选择一种你比较喜欢的开发系统,C、C++、Delphi、Java、或是VB等,AU3只是一种脚本,有适合它的群体。

pusofalse 发表于 2011-3-21 21:48:31

从学习AU3到现在,编写过几十个大大小小的程序,至少到现在,我还没遇到过“经常会若一个功能/界面没有退出,别的功能/界面无法调出来”的情况,我并没有用多线程,而是放弃了GUIGetMsg,而改用GUIRegisterMsg或更高级的SetWindowLong,我向你保证,用目前的AU3编写一个像QQ那样的程序 完全不成问题,就看你会不会写了。

我坚信AU3能支持多线程,虽然作者也说不支持了、虽然我已写过很多个多线程的程序、也虽然自己测试将线程函数设为AU3自定义函数时,测试一次也没有成功。但我相信,我可以写个标准的AU3自定义函数,将AU3解析器的核心代码的某个地方改一下,AU3就能支持使用自定义函数作为 线程函数来运行,只是现在我还没这样的水平。编写不出强大的程序,这是我人的问题,而不是编程语言的问题,如果你足够强大了,你完全可以把现在的解析器改造得更加完美、或者自己写一个更加强大的解析器,甚至可以自己发明一种语言,可是你没有,你只能跟我一样去使用别人发明好的语言。既然选择了它就必须喜欢它,那些抱怨编程工具有各种各样不足、而不从自身找原因的人,我也向你保证,他绝对不懂编程。

水木子 发表于 2011-3-21 22:16:05

本帖最后由 水木子 于 2011-3-21 22:17 编辑

从学习AU3到现在,编写过几十个大大小小的程序,至少到现在,我还没遇到过“经常会若一个功能/界面没有退出 ...
pusofalse 发表于 2011-3-21 21:48 http://www.autoitx.com/images/common/back.gif
说点啥好呢!非常同意P版的观点。
页: [1] 2 3 4 5 6
查看完整版本: 哎,autoit不准备实现多线程了,太遗憾了!