Асинхронное и многопоточное программирование в MQL - страница 9

 
Roman:

Это всего лишь было предположение, я не проверял где он используется ещё. 
С ходу что гуглится, в каких языках применяется EventLoop, так это Py, JS, Qt возможно ещё в каких то.
Смысл не в том где он применяется, а в самой технологии без использования потоков.
Вот и почему бы не позаимствовать технологию и реализовать в mql свой EventLoop?

Не проверяли? А можете проверить?  

Как вы представляете асинхронность без потоков? Может вы и штаны через голову одевать умеете?

 
Dmitry Fedoseev:

Не проверяли? А можете проверить?  

Как вы представляете асинхронность без потоков? Может вы и штаны через голову одевать умеете?

Разработчикам это виднее, думаю они понимают мою мысль.
Скорее всего да, оговорился, и используется Thread Pool, а для выполнения задания Callback.
И тем самым достигается написание асинхронного кода в один поток Single Thread, и каждый запрос считается событием.

В тестировании на агентах, по моему Thread Pool и используется, только для процессов, уж больно похожее поведение.
По этому сама технология уже есть в mql, только не развита для пользователей, в написании асинхронного кода.

Вот понимание того, как работает EventLoop в Node.js  ссылка
Здесь как работает  EventLoop в asyncio  ссылка

 
Roman:

...
Вот понимание того, как работает EventLoop в Node.js  ссылка
Здесь как работает  EventLoop в asyncio  ссылка

Да уже понял, что вы и все эти адепты асинхронного программирования в одном потоке и штаны через голову умеют одевать. 

***

Мне больше другая статья про EventLoop понравилась. Цитирую: "поскольку большинство современных ядер являются многопоточными..." Дальше не читал - хватило этого. 

 
По этому и хотелось бы, чтоб разработчики услышали данное предложение, и разработали свой EventLoop.
Тогда терминал Metatrader порвёт всех и вся, и ему точно не будет равных! 
 
Roman:
По этому и хотелось бы, чтоб разработчики услышали данное предложение, и разработали свой EventLoop.
Тогда терминал Metatrader порвёт всех и вся, и ему точно не будет равных! 

Да забудьте этот EventLoop. Бред сивой кобылы. Покажите лучше как штаны через голову одеваете.

***

Почитал немного по теме, обсуждается как собеседование пройти с вопросами про EventLoop. Походу это какой-то фетиш питонщиков и джз-нодовцев. К реальности это не имеет отношения.  

***

Roman:

...

Вот понимание того, как работает EventLoop в Node.js  ссылка
...

Читаем статью. В начале "NodeJS это однопоточное приложение (Single Thread), работает на платформе написанной с помощью  C++, данная платформа использует многопоточность (Multi-Thread) для одновременного выполнения заданий.".

Читаем дальше "Как программа написанная языком C++, она поддерживает многопоточность (Multi Threads), поэтому здесь запросы будут обработаны на разных потоках. NodeJS так же поддерживает мультипроцессы (Multi Processes), это значит они могут быть выполнены на разных ядрах (Core)"

Возникает вопрос: "а что принимал автор этой статьи, когда ее писал?"

 
Dmitry Fedoseev:

Мне больше другая статья про EventLoop понравилась. Цитирую: "поскольку большинство современных ядер являются многопоточными..." Дальше не читал - хватило этого. 

Смысл в том, чтобы дать возможность пользователю писать асинхронный код в одном потоке, так как эксперт/скрипт работают в одном потоке.
А в дебрях терминала уже будет работать разработанный, не кому не доступный из вне EventLoop !
Это для вас может бред, у меня на Py написан сервер с использованием EventLoop.
И обрабатывается более тысячи задач за раз асинхронно, вот вам и бред, при том что все считают Py тормознутым.
Пишите асинхронно и будете летать, штаны я через голову не одеваю, просто использую нужные технологии.

 

Еще из одной статьи на эту тему: "Асинхронный код убирает блокирующую операцию из основного потока программы, так что она продолжает выполняться, но где-то в другом месте, а обработчик может идти дальше. Проще говоря, главный «процесс» ставит задачу и передает ее другому независимому «процессу»." :)

Не, оказывается эта цитата вот из это статьи:
Roman:

...
Здесь как работает  EventLoop в asyncio  ссылка

Во как - программа продолжает выполняться где-то в другом месте... а обработчик остается здесь.

Вы еще не поняли, что автор этой стать вообще лыка не вяжет в том, о чем рассуждает? Ему бы почитать что-нибудь типа "Основы Виндос" года издания этак 90-го прошлого века.

А он там в своих статья процессор мистическими силами случайно не наделяет?

 
Roman:

...просто использую нужные технологии.

Если бы вы еще понимали, что используете. Если бы все оставалось в одном потоке (если такое было бы возможно), то не было бы повышения скорости. Повышение скорости происходит за счет  того, что создается процесс и он обрабатывается другим ядром.

Roman:

...
И обрабатывается более тысячи задач за раз асинхронно, вот вам и бред, при том что все считают Py тормознутым.
...

Не может одновременно обрабатываться задач больше, чем ядер у процессора.

 
Dmitry Fedoseev:

Еще из одной статьи на эту тему: "Асинхронный код убирает блокирующую операцию из основного потока программы, так что она продолжает выполняться, но где-то в другом месте, а обработчик может идти дальше. Проще говоря, главный «процесс» ставит задачу и передает ее другому независимому «процессу»." :)

Не, оказывается эта цитата вот из это статьи:

Во как - программа продолжает выполняться где-то в другом месте... а обработчик остается здесь.

Вы еще не поняли, что автор этой стать вообще лыка не вяжет в том, о чем рассуждает? Ему бы почитать что-нибудь типа "Основы Виндос" года издания этак 90-го прошлого века.

А он там в своих статья процессор мистическими силами случайно не наделяет?

Для этого и используется Thread Pool или Coroutines, вы просто не изучили данную технологию и не поняли до конца весь смысл.
Спорить с вами на эту тему, нет желания, эта технология успешно применяется в других языках и движках мировыми компаниями.
А то что вы находите бред в статьях, видимо вы ещё не осознали как это всё работает в одном потоке ))

 
Roman:

Для этого и используется Thread Pool или Coroutines, вы просто не изучили данную технологию и не поняли до конца весь смысл.
Спорить с вами на эту тему, нет желания, эта технология успешно применяется в других языках и движках мировыми компаниями.
А то что вы находите бред в статьях, видимо вы ещё не осознали как это всё работает в одном потоке ))

Во! Давление авторитетами пошло в ход... тоже так же находящимися где-то там, где и тот, где-то там выполняющийся код))) А божественная сила не применяется?

Само выражение "Thread Pool" подразумевает наличие нескольких "Thread". 

Технологию изучать... сначала надо элементарно здравым смыслом овладеть.

Причина обращения: