Programación asíncrona y multihilo en MQL - página 9

 
Roman:

Eso era sólo una suposición, no he comprobado aún dónde se utiliza.
Buscando en Google qué lenguajes usan EventLoop, es Py, JS, Qt quizás en algunos más.
La cuestión no es dónde se aplica sino en la propia tecnología sin usar hilos.
Entonces, ¿por qué no tomar prestada la tecnología e implementar en mql su EventLoop?

¿No lo has comprobado? ¿Puedes probarlo?

¿Cómo te imaginas la asincronía sin hilos? ¿Puedes ponerte los pantalones por encima de la cabeza también?

 
Dmitry Fedoseev:

¿No lo has comprobado? ¿Puedes probarlo?

¿Cómo te imaginas la asincronía sin hilos? ¿Puedes ponerte los pantalones por encima de la cabeza también?

Los desarrolladores lo saben mejor, creo que saben lo que quiero decir.
Probablemente sí, me expresé mal, y se utiliza Thread Pool y Callback para hacer el trabajo.
Y de esta forma se consigue escribir código asíncrono en un solo hilo Single Thread, y cada petición se considera como un evento.

En las pruebas en los agentes, creo que se utiliza Thread Pool, sólo para los procesos, es un comportamiento muy similar.
Por esta razón, la tecnología en sí ya existe en mql, sólo que no está desarrollada para los usuarios, en la escritura de código asíncrono.

Aquí se entiende cómo funciona EventLoop en Node.jsref
Así es como funciona EventLoop en asyncioref.

 
Roman:

...
Aquí tienes una visión de cómo funciona EventLoop en el enlace de Node.js
Así es como funciona EventLoop en asyncio ref.

Sí, ya me he dado cuenta de que tú y todos esos adeptos a la programación asíncrona estáis en el mismo hilo y sabéis poneros los pantalones en la cabeza.

***

Me gustó más el otro artículo sobre EventLoop. Cito: "ya que la mayoría de los núcleos modernos son multihilo..." No leí más, fue suficiente.

 
Por esta razón, me gustaría que los desarrolladores escucharan esta sugerencia, y desarrollaran su propio EventLoop.
Entonces el terminal de Metatrader arrancará a todos y a todo, ¡y definitivamente no será igual!
 
Roman:
Por eso me gustaría que los desarrolladores escucharan esta sugerencia y desarrollaran su propio EventLoop.
Entonces, el terminal Metatrader destrozará a todos y a todo, ¡y no será inigualable!

Olvídate del EventLoop. Mentira. Muéstrame cómo te pones los pantalones sobre la cabeza.

***

Lee un poco sobre el tema, discutiendo cómo conseguir una entrevista con preguntas sobre EventLoop. Parece que es una especie de fetiche de pitones y boquillas. No tiene nada que ver con la realidad.

***

Romano:

...

Aquí tienes una visión de cómo funciona EventLoop en Node.js ref
...

Leamos el artículo. Al principio "NodeJS es una aplicación Single Thread que se ejecuta en una plataforma escrita con C++, esta plataforma utiliza Multi-Thread para ejecutar tareas simultáneamente".

Continue reading "Como programa C++, soporta Multi-Threads, por lo que las peticiones aquí serán manejadas por múltiples hilos. NodeJS también soporta Multi Processes, lo que significa que pueden ser ejecutados en un Core".

Surge la pregunta: "¿pero qué tomó el autor de este artículo cuando lo escribió?

 
Dmitry Fedoseev:

Me gustó más el otro artículo sobre EventLoop. Cito: "ya que la mayoría de los núcleos modernos son multihilo..." No leí más, fue suficiente.

El objetivo es permitir al usuario escribir código asíncrono en un solo hilo, ya que el Experto/Script funciona en un solo hilo.
¡Y en la naturaleza de la terminal ya estará trabajando desarrollado, no disponible para cualquier persona de fuera EventLoop !
Esto puede ser una tontería para ti, yo tengo un servidor escrito en Py usandoEventLoop.
Y procesa más de mil tareas a la vez de forma asíncrona, ese es tu delirio, aunque todo el mundo piense que Py es lenta.
Escribe de forma asíncrona y volarás, yo no me pongo los pantalones en la cabeza, sólo usa la tecnología adecuada.

 

Otro artículo sobre el tema: "El código asíncrono elimina una operación de bloqueo del flujo principal del programa, de modo quesigue ejecutándose, pero en otro lugar, y el controlador puede continuar. Simplemente, el "proceso" principal pone una tarea y la pasa a otro "proceso" independiente". :)

No, resulta que esta cita es de este artículo:
Roman:

...
Así es como funciona EventLoop en asyncio link

Ya está, el programa sigue funcionando en otro lugar... y el manipulador se queda aquí.

¿Aún no has entendido que el autor de este artículo no tiene ninguna habilidad en lo que está hablando? Debería leer algo como "Fundamentos de Windows" de los años 90.

¿Por casualidad le da al procesador poderes místicos en sus artículos?

 
Roman:

...Sólo hay que utilizar la tecnología adecuada.

Si todavía entendieras lo que estabas usando. Si todo se mantuviera en un solo hilo (si eso fuera posible), no habría aumento de velocidad. El aumento de la velocidad se produce a costa de crear un proceso y que éste sea procesado por otro núcleo.

Romano:

...
Y más de mil tareas se procesan de forma asíncrona a la vez, esa es la tontería, mientras todo el mundo piensa que Py es lento.
...

No puede haber más tareas procesadas al mismo tiempo que núcleos en el procesador.

 
Dmitry Fedoseev:

Otro artículo sobre el tema: "El código asíncrono elimina una operación de bloqueo del flujo principal del programa, de modo que sigue ejecutándose, pero en otro lugar, y el controlador puede continuar. Simplemente, el "proceso" principal pone una tarea y la pasa a otro "proceso" independiente". :)

No, resulta que esa cita es de este artículo:

Ya está, el programa sigue funcionando en otro lugar... y el manipulador se queda aquí.

¿Aún no has entendido que el autor de este artículo no tiene ninguna habilidad en lo que está hablando? Debería leer algo como "Fundamentos de Windows" de los años 90.

¿Por casualidad le da al procesador poderes místicos en sus artículos?

Thread Pool o Coroutines se utiliza para este propósito, simplemente no has estudiado esta tecnología y no has entendido todo el punto.
No tengo ningún deseo de discutir con usted sobre este tema, esta tecnología se utiliza con éxito en otros idiomas y motores por las empresas del mundo.
Y lo que te parece una tontería en los artículos, por lo visto aún no te has dado cuenta de cómo funciona todo en un hilo)).

 
Roman:

Para eso se usan Thread Pool o Coroutines, simplemente no has estudiado la tecnología dada y no has entendido todo el punto hasta el final.
No tengo ningún deseo de discutir con usted sobre este tema, esta tecnología se utiliza con éxito en otros idiomas y motores por las empresas del mundo.
Y lo que te parece una tontería en los artículos, por lo visto aún no te has dado cuenta de cómo funciona todo en un hilo)).

(Riendo): ¡Guau! La presión de las autoridades... también estar en algún lugar por ahí con ese código que se ejecuta en algún lugar por ahí)) ¿No se aplica el poder divino?

La propia expresión "Thread Pool" implica la presencia de varios Threads.

Estudiar la tecnología... ...primero deberías dominar el sentido común.

Razón de la queja: