MQL中的异步和多线程编程 - 页 9 12345678910111213141516...40 新评论 Dmitry Fedoseev 2019.07.26 08:28 #81 Roman: 这只是一个猜测,我还没有查到它用在哪里。 我搜索了一下有哪些语言使用EventLoop,是Py、JS、Qt,可能还有一些。 问题的关键不是在哪里应用,而是在技术本身不使用线程。 那么,为什么不借用这个技术,在mql中实现你的EventLoop呢? 你没有检查?你能测试一下吗? 你如何想象没有线程的异步?你也能把你的裤子套在头上吗? Roman 2019.07.26 08:56 #82 Dmitry Fedoseev: 你没有检查?你能测试一下吗? 你如何想象没有线程的异步?你也能把你的裤子套在头上吗? 开发商更清楚,我想他们知道我的意思。 可能是的,我说错了,线程池是用来做的,回调是用来做的。 而这样一来,在一个线程中写异步代码的单线程就实现了,而且每个请求都被视为一个事件。 在代理商的测试中,我认为线程池是被使用的,只是对于进程来说,它的行为非常相似。 由于这个原因,该技术本身已经存在于mql中,只是没有为用户开发,在编写异步代码时。 下面是对Node.js中EventLoop工作原理的理解,请参考 下面是EventLoop在asyncio中的工作原理。 Dmitry Fedoseev 2019.07.26 13:20 #83 Roman: ... 下面是对EventLoop在Node.js链接 中的工作原理的深入了解 下面是EventLoop在asyncio中的工作原理。 是的,我已经意识到,你和所有那些异步编程高手都在同一条线上,知道如何把裤子套在头上。 *** 我更喜欢另一篇关于EventLoop的文章。我引用一下。"因为大多数现代内核是多线程的......" 没有再读下去--这就够了。 Roman 2019.07.26 13:25 #84 出于这个原因,我希望开发者能听到这个建议,并开发他们自己的EventLoop。 然后,Metatrader终端将撕裂每个人和所有东西,而且肯定不会是平等的!"。 Dmitry Fedoseev 2019.07.26 13:27 #85 Roman: 这就是为什么我希望开发者能听到这个建议,并开发他们自己的EventLoop。 然后,Metatrader终端将撕裂每个人和所有东西,它不会是无与伦比的! 忘掉EventLoop吧。胡说八道。告诉我如何把裤子套在头上。 *** 阅读一下,讨论如何获得有关EventLoop问题的面试。看起来是某种蟒蛇和J-喷头的癖好。 这与现实毫无关系。 *** 罗马 人。 ... 下面是对EventLoop在Node.js链接 中的工作原理的深入了解... 让我们来读读这篇文章。在开始时,"NodeJS是一个运行在用C++编写的平台上的单线程应用程序,这个平台使用多线程来同时执行任务"。 继续阅读 "作为一个C++程序,它支持多线程,所以这里的请求将由多个线程处理。NodeJS还支持多进程,这意味着它们可以在一个核心上执行"。 问题来了:"但这篇文章的作者在写这篇文章时是怎么想的? Roman 2019.07.26 13:41 #86 Dmitry Fedoseev: 我更喜欢另一篇关于EventLoop的文章。我引用一下。"因为大多数现代内核是多线程的......" 没有再读下去--这就够了。 重点是允许用户在单线程中编写异步代码,因为专家/脚本在单线程中工作。 而在荒野中的终端将已经开发的工作,不提供给任何人从EventLoop以外的地方! 这对你来说可能是无稽之谈,我有一个用Py编写的服务器,使用EventLoop。 而且一次异步处理一千多个任务,这是你的错觉,尽管每个人都认为Py很慢。 异步写作,你就会飞起来,我不在头上穿裤子,只要使用正确的技术。 Dmitry Fedoseev 2019.07.26 13:55 #87 关于这个问题的另一篇文章:"异步代码从主程序流中移除一个阻塞操作,使其继续运行,但在其他地方,处理程序可以继续进行。简单地说,主 "进程 "把一个任务,传递给另一个独立的 "进程"。":) 不,原来这句话是出自这篇文章。 Roman: ... 以下是EventLoop在asyncio链接 中的工作方式 你去了 - 程序继续在其他地方运行...而处理者则留在这里。 难道你还不明白,这篇文章的作者在他/她所讲的事情上一点技巧都没有吗?他应该读一读90年代的《Windows基础知识》之类的书。 他是否在他的文章中给了处理器神秘的力量,任何机会? Dmitry Fedoseev 2019.07.26 14:04 #88 Roman: ...只是使用正确的技术。 如果你还明白你在用什么。如果所有东西都呆在一个线程中(如果可能的话),就不会有速度的提高。 速度的提高是以创建一个进程并由另一个核心处理为代价的。 罗马 人。 ...而一次异步处理一千多个任务,这就是胡说八道,而大家都认为Py很慢。 ... 同时处理的任务不可能多于处理器中的核心数量。 Roman 2019.07.26 14:13 #89 Dmitry Fedoseev: 关于这个问题的另一篇文章:"异步代码从主程序流中移除一个阻塞操作,使其继续运行,但在其他地方,处理程序可以继续进行。简单地说,主 "进程 "把一个任务,传递给另一个独立的 "进程"。":) 不,事实证明,这句话是来自这篇文章。 你去了 - 程序继续在其他地方运行...而处理者则留在这里。 难道你还不明白,这篇文章的作者在他/她所讲的事情上一点技巧都没有吗?他应该读一读90年代的《Windows基础知识》之类的书。 他是否在他的文章中给了处理器神秘的力量,任何机会? 线程池或Coroutines就是用于此目的,你只是没有研究过这项技术,没有理解整个要点。 我不想在这个问题上与你争论,这项技术已经被世界上的公司成功地应用于其他语言和引擎。 而你在文章中发现的无稽之谈,显然你还没有意识到这一切是如何在一条线上运作的))。 Dmitry Fedoseev 2019.07.26 14:21 #90 Roman: 这就是Thread Pool或Coroutines的用途,你只是没有研究过给定的技术,没有理解整个要点,没有理解到最后。 我不想在这个问题上与你争论,这项技术已经被世界上的公司成功地应用于其他语言和引擎。 而你在文章中发现的无稽之谈,显然你还没有意识到这一切是如何在一条线上运作的))。 (笑): 哇!当局的压力是在...也是在外面的某个地方,在外面的某个地方运行该代码))。神圣的力量不适用吗? "线程池 "这一表述本身就意味着有多个线程存在。 要研究技术......你应该首先掌握常识。 12345678910111213141516...40 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这只是一个猜测,我还没有查到它用在哪里。
我搜索了一下有哪些语言使用EventLoop,是Py、JS、Qt,可能还有一些。
问题的关键不是在哪里应用,而是在技术本身不使用线程。
那么,为什么不借用这个技术,在mql中实现你的EventLoop呢?
你没有检查?你能测试一下吗?
你如何想象没有线程的异步?你也能把你的裤子套在头上吗?
你没有检查?你能测试一下吗?
你如何想象没有线程的异步?你也能把你的裤子套在头上吗?
开发商更清楚,我想他们知道我的意思。
可能是的,我说错了,线程池是用来做的,回调是用来做的。
而这样一来,在一个线程中写异步代码的单线程就实现了,而且每个请求都被视为一个事件。
在代理商的测试中,我认为线程池是被使用的,只是对于进程来说,它的行为非常相似。
由于这个原因,该技术本身已经存在于mql中,只是没有为用户开发,在编写异步代码时。
下面是对Node.js中EventLoop工作原理的理解,请参考
下面是EventLoop在asyncio中的工作原理。
...
下面是对EventLoop在Node.js链接 中的工作原理的深入了解
下面是EventLoop在asyncio中的工作原理。
是的,我已经意识到,你和所有那些异步编程高手都在同一条线上,知道如何把裤子套在头上。
***
我更喜欢另一篇关于EventLoop的文章。我引用一下。"因为大多数现代内核是多线程的......" 没有再读下去--这就够了。
然后,Metatrader终端将撕裂每个人和所有东西,而且肯定不会是平等的!"。
这就是为什么我希望开发者能听到这个建议,并开发他们自己的EventLoop。
然后,Metatrader终端将撕裂每个人和所有东西,它不会是无与伦比的!
忘掉EventLoop吧。胡说八道。告诉我如何把裤子套在头上。
***
阅读一下,讨论如何获得有关EventLoop问题的面试。看起来是某种蟒蛇和J-喷头的癖好。 这与现实毫无关系。
***
...
下面是对EventLoop在Node.js链接 中的工作原理的深入了解
...
让我们来读读这篇文章。在开始时,"NodeJS是一个运行在用C++编写的平台上的单线程应用程序,这个平台使用多线程来同时执行任务"。
继续阅读 "作为一个C++程序,它支持多线程,所以这里的请求将由多个线程处理。NodeJS还支持多进程,这意味着它们可以在一个核心上执行"。
问题来了:"但这篇文章的作者在写这篇文章时是怎么想的?
我更喜欢另一篇关于EventLoop的文章。我引用一下。"因为大多数现代内核是多线程的......" 没有再读下去--这就够了。
重点是允许用户在单线程中编写异步代码,因为专家/脚本在单线程中工作。
而在荒野中的终端将已经开发的工作,不提供给任何人从EventLoop以外的地方!
这对你来说可能是无稽之谈,我有一个用Py编写的服务器,使用EventLoop。
而且一次异步处理一千多个任务,这是你的错觉,尽管每个人都认为Py很慢。
异步写作,你就会飞起来,我不在头上穿裤子,只要使用正确的技术。
关于这个问题的另一篇文章:"异步代码从主程序流中移除一个阻塞操作,使其继续运行,但在其他地方,处理程序可以继续进行。简单地说,主 "进程 "把一个任务,传递给另一个独立的 "进程"。":)
不,原来这句话是出自这篇文章。...
以下是EventLoop在asyncio链接 中的工作方式
你去了 - 程序继续在其他地方运行...而处理者则留在这里。
难道你还不明白,这篇文章的作者在他/她所讲的事情上一点技巧都没有吗?他应该读一读90年代的《Windows基础知识》之类的书。
他是否在他的文章中给了处理器神秘的力量,任何机会?
...只是使用正确的技术。
如果你还明白你在用什么。如果所有东西都呆在一个线程中(如果可能的话),就不会有速度的提高。 速度的提高是以创建一个进程并由另一个核心处理为代价的。
...
而一次异步处理一千多个任务,这就是胡说八道,而大家都认为Py很慢。
...
同时处理的任务不可能多于处理器中的核心数量。
关于这个问题的另一篇文章:"异步代码从主程序流中移除一个阻塞操作,使其继续运行,但在其他地方,处理程序可以继续进行。简单地说,主 "进程 "把一个任务,传递给另一个独立的 "进程"。":)
不,事实证明,这句话是来自这篇文章。你去了 - 程序继续在其他地方运行...而处理者则留在这里。
难道你还不明白,这篇文章的作者在他/她所讲的事情上一点技巧都没有吗?他应该读一读90年代的《Windows基础知识》之类的书。
他是否在他的文章中给了处理器神秘的力量,任何机会?
线程池或Coroutines就是用于此目的,你只是没有研究过这项技术,没有理解整个要点。
我不想在这个问题上与你争论,这项技术已经被世界上的公司成功地应用于其他语言和引擎。
而你在文章中发现的无稽之谈,显然你还没有意识到这一切是如何在一条线上运作的))。
这就是Thread Pool或Coroutines的用途,你只是没有研究过给定的技术,没有理解整个要点,没有理解到最后。
我不想在这个问题上与你争论,这项技术已经被世界上的公司成功地应用于其他语言和引擎。
而你在文章中发现的无稽之谈,显然你还没有意识到这一切是如何在一条线上运作的))。
(笑): 哇!当局的压力是在...也是在外面的某个地方,在外面的某个地方运行该代码))。神圣的力量不适用吗?
"线程池 "这一表述本身就意味着有多个线程存在。
要研究技术......你应该首先掌握常识。