找回密码
 加入
搜索
查看: 31512|回复: 78

[AU3基础] 哎,autoit不准备实现多线程了,太遗憾了!

 火... [复制链接]
发表于 2011-3-21 01:54:21 | 显示全部楼层 |阅读模式
看它的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写了太多功能时,就会发现,经常会若一个功能/界面没有退出,别的功能/界面无法调出来的。
发表于 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 增加程序运行方式选项
发表于 2011-3-21 10:29:03 | 显示全部楼层
一般来说,大型软件不会用AU3来写的。
越强大的软件跟系统的切合度越高,而AU3是无法跨越window平台的,其实我用AU3也只是个过渡而已,因为代码没那么复杂。真正的程序员,起码要把C用的炉火纯青!
发表于 2011-3-21 10:38:53 | 显示全部楼层
回复 4# love5173


    au3谁都可以写,程序员不是谁都能当……
发表于 2011-3-21 10:45:35 | 显示全部楼层
用AU3更像是堆积木,积木本身不是我们自己造的,没什么成就感,只是方便用而已
发表于 2011-3-21 10:48:39 | 显示全部楼层
回复 6# love5173


    你没有理解AU3作者的初衷
发表于 2011-3-21 12:03:04 | 显示全部楼层
呵呵,刚开始以为就是堆积木.
后来学了一点之后,觉得算法才是王道.(用尽量少的积木?搭得最快?)
再后来才发觉原来结构合理才最重要.(为了搭的更高更大?)
以后....
我也不知道会发现什么才最重要....
发表于 2011-3-21 12:30:35 | 显示全部楼层
回复 8# 3mile
到最后,你会发现,原来地的平整度才最重要
发表于 2011-3-21 12:33:04 | 显示全部楼层
回复 9# netegg
哈哈,精辟
发表于 2011-3-21 12:39:28 | 显示全部楼层
回复 10# 3mile
和seo的作用一样,程序需要优化,比如怎样安排过程的步骤,当然,这也是结构的一部分
发表于 2011-3-21 12:44:24 | 显示全部楼层
看来AU4泡影啦
发表于 2011-3-21 13:17:47 | 显示全部楼层
AU3只是用来解决日常的简单问题,它比大型开发工具方便的多,对于专业的应用问题,应该由合适的开发环境和专门的程序员来做。不过AU3可能会将一个不懂程序的人导向专业的程序员,你要是觉得AU3太局限,你应该朝更高层次的方向发展,比如选择一种你比较喜欢的开发系统,C、C++、Delphi、Java、或是VB等,AU3只是一种脚本,有适合它的群体。
发表于 2011-3-21 21:48:31 | 显示全部楼层
从学习AU3到现在,编写过几十个大大小小的程序,至少到现在,我还没遇到过“经常会若一个功能/界面没有退出,别的功能/界面无法调出来”的情况,我并没有用多线程,而是放弃了GUIGetMsg,而改用GUIRegisterMsg或更高级的SetWindowLong,我向你保证,用目前的AU3编写一个像QQ那样的程序 完全不成问题,就看你会不会写了。

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

评分

参与人数 2金钱 +50 贡献 +15 收起 理由
chamlien + 10 说的很好呢
tryhi + 40 + 15 我非常地赞同

查看全部评分

发表于 2011-3-21 22:16:05 | 显示全部楼层
本帖最后由 水木子 于 2011-3-21 22:17 编辑
从学习AU3到现在,编写过几十个大大小小的程序,至少到现在,我还没遇到过“经常会若一个功能/界面没有退出 ...
pusofalse 发表于 2011-3-21 21:48

说点啥好呢!非常同意P版的观点。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-14 14:37 , Processed in 0.082615 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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