MQL中的异步和多线程编程 - 页 5

 
Andrey Pogoreltsev:

更不用说你还得学习同步对象了。你需要它吗?如果你这样做,你就很容易写出一个dll。

主要问题不在"......仍需学习"。

主要的问题是,所有这些注意事项越多,得到棘手的错误的危险就越大,这是不容易计算的。

而这一切对开发者来说是一个额外的头痛问题。

另外--评估一下是否有很多人真的需要这种多线程,这很好。

 
Georgiy Merts:

主要问题不是"......有待学习"。

主要的问题是,所有这些噱头越多,得到棘手的错误的危险就越大,这是很难计算的。

所有这些对开发者来说都是一个额外的头痛问题。

另外--评估一下是否有很多人真的需要这种非常多线程的东西,这很好?

那么,一头母猪和一匹马,就可以走了......。朝着清晨的曙光...

 
Roman:

太糟糕了,mql没有这样的功能。
管理层将建议为异步编程开发一个标准的mql函数
因为存在着线程和最重要的安全问题。
对于异步模式,我认为不存在安全障碍。

我昨天去了我婆婆家,他们正在装修墙壁,你也在做吗?- 打开窗户,给房间通风!

罗马 人。

没有什么能阻挡!任务是使用纯粹的WinAPI。没有任何自制的dll !

这个话题是为了讨论多线程的mql编程问题而设立的。 你今天有某种消极的精神,在我自己创建的话题中泛滥成灾,这是什么意思?

为什么是WinAPI? 让我告诉你一个秘密,CLR也是 "纯Windows",一年前就增加了对.NET库的本地支持,有 "智能 "函数导入,你知道WinAPI,但你不能在.NET中创建一个线程?)))))


罗马 人。

请不要做这样的评论。

认可
 
Dmitry Fedoseev:

那么,犁和马,继续前进......。朝着清晨的曙光...

迪米特里,你试过用犁和马来种植和收获吗?

有同样多的微妙之处,也有同样多的犯错机会。但是,如果庄稼死了,你就会挨饿,那代价就大了......。

到处都有问题,你必须衡量利益和努力。 特别是这个多线程,我看不出它有什么直接必要。

 

我不只是建议作者用纯WinAPI写他的第一个程序https://www.mql5.com/ru/forum/318593/page2#comment_12565043。

网上有很多关于这个主题的信息--首先使用准备好的头文件(windows.h等)进行编写,然后删除这些头文件,并接近所珍视的纯WinAPI = 一大段代码,可以注册进程和窗口,可以接收事件并处理它们....而它将只是一个微不足道的窗口,不能做任何有用的事情,但会明白你需要使用WinAPI做多少工作


我大约在15年前试过(我不记得确切的时间了,我记得当时有一个拨号连接),这样任何 "我是我妈妈的软件工程师"都应该通过摆脱问题和欲望,给系统程序员提供建议 - 编译器开发人员

"走了这条路",它将立即清楚数百名系统程序员为他们编写编译器和库的巨大工作,它将清楚为什么速度被赋予了方便的用户功能,以便任何应用程序员可以阅读帮助并 "在两次点击中 "获得所需的结果。


SZZ:总的来说,缺乏经验、知识和技能造成了另一种认知 上的扭曲))))。

 
Georgiy Merts:

主要问题不是"......有待学习"。

主要的问题是,所有这些噱头越多,得到棘手的错误的危险就越大,这是很难计算的。

所有这些都是令开发商头痛的额外问题。

另外--评估一下是很好的--有多少人真正需要这种非常多线程?

正如我们在上面发现的,我们需要在套接字层面上对自定义网络请求进行异步处理,例如。

但一切都可以通过WinAPI的方式来解决。如果你的机器人的性能取决于它所运行的机器的性能,那就很不幸了,特别是对于专用服务器 来说:)
 
Georgiy Merts:

迪米特里,你试过用犁和马来种植和收获作物吗?

有同样多的微妙之处,也有同样多的犯错机会。但是,如果庄稼死了,你就会挨饿,那代价就大了......。

到处都有问题,人们必须平衡所获得的利益和所付出的努力。 特别是这种多线程,我看不出它有什么直接的必要性。

什么是犁和马?通常的铲子。

如果我们是认真的、成熟的,那么第一个任务就是WebRequest,它应该被移到独立的线程中进行异步工作,但一般来说,它是可以的,你也可以接受。

第二项任务是训练神经网络,即专家顾问中内置的自动优化功能。如果有可能轻松地从专家顾问那里创建线程,这个话题将得到很大的生命力。

 
Dmitry Fedoseev:

如果我们是认真的、成熟的,第一个需要放在单独线程中进行异步工作的任务是WebRequest,但一般来说,它可以做到,我们可以忍受它。

第二项任务是训练神经网络,即专家顾问中内置的自动优化功能。如果有可能轻松地从专家顾问中创建线程,这个主题将得到一个很好的生命力。

仅在MQL内,这两项任务都是通过自动启动专家顾问来解决的。

 
Igor Makanu:

我不只是建议作者在纯WinAPI上写他的第一个程序https://www.mql5.com/ru/forum/318593/page2#comment_12565043。

网上有很多关于这个话题的信息--首先使用准备好的头文件(windows.h等)进行编写,然后删除这些头文件,接近珍惜的纯WinAPI=自己的大代码包,它可以注册进程和窗口,可以接收事件并处理它们....而它将只是一个微不足道的窗口,不能做任何有用的事情,但会明白你需要使用WinAPI做多少工作


我大约在15年前试过(我不记得确切的时间了,我记得当时有一个拨号连接),这样任何 "我是我妈妈的软件工程师"都应该通过摆脱问题和欲望,给系统程序员提供建议 - 编译器开发人员

"走了这条路",它将立即清楚数百名系统程序员为他们编写编译器和库的巨大工作,它将清楚为什么速度被赋予一个方便的用户功能,以便任何应用程序的程序员可以阅读帮助并 "在2次点击中 "获得所需的结果。


SZZ:总的来说,缺乏经验、知识和技能造成了另一种认知 上的扭曲))))。

伊戈尔,不是每个人都像你一样有编程的学位。你的老师是在哪里教你的!?这就是为什么资格问题是不可能的。
由于这个原因,纯WinAPI的概念是模糊的,我认为它将比你描述的更简单。
我曾经对编程完全陌生,多亏了mql,我才开始在没有老师和提示的情况下学习C/C++!
但是,正如你所看到的,我已经自己达到了异步的需求。是的,我可能不知道什么,但我正在学习我需要的一切。
是的,我不熟悉.NET技术,也不想熟悉,我已经厌倦了C#,每个人都有自己的语言的可移植性。
你在哪里看到我给开发者提供建议?有人建议在mql中增加一套标准函数来处理异步代码。
这是一个合理的建议,我不知道为什么你对它的反应如此消极......或者是你的说话方式总是这样?
如果你不需要这样的功能,其他用户需要。这就像OOP,不是每个人都使用它,但它就在那里。现在很多语言中似乎都有异步性,但在mql中却没有。
mql怎么会比其他语言差,它被剥夺了异步方法?关于线程的问题已经关闭,而异步则是开箱即用的。

 
Roman:

伊戈尔,不是每个人都像你一样有编程的学位。你的老师是在哪里教你的!?这就是为什么资格认证是不可能的。
由于这个原因,纯WinAPI的概念是模糊的,我认为它将比你描述的更简单。
我以前对编程一点都不熟悉,只有多亏了mql,我开始在没有老师和提示的情况下学习C/C++!
但是,正如你所看到的,我已经自己达到了异步的需求。是的,我可能不知道什么,但我正在学习我需要的一切。
是的,我不熟悉.NET技术,我也不想熟悉,我已经厌倦了C#,每个人都有自己的语言的可移植性。
你在哪里看到我给开发者提供建议?有人提议在mql中增加一套标准函数,以处理异步代码。
这是一个合理的建议,我不知道为什么你对它的反应如此消极......或者是你的说话方式总是这样?
如果你不需要这个功能,其他用户需要。我想现在所有的语言都有异步功能,但mql没有。
mql怎么会比其他语言差,它被剥夺了异步方法?好吧,关于线程的问题已经结束,但异步是可行的。

在MQL5中,有异步性,例如,OrderSendAsync

至于与网络或文件系统的交互--使用WinAPI,我写了上面的解决方案。我认为一切都在那里,为的是这个。你可以在微软网站上阅读如何使用这些方法。还有什么未被披露的?)