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

 
Dmitry Fedoseev:

Soñar... y ser envidioso en silencio.

Y puedo repetirlo: "Nopuede haber más tareas procesadas al mismo tiempo que núcleos tiene un procesador". Si piensas lo contrario, me pongo de pie y aplaudo.

Por eso inventaron la ejecución asíncrona de tareas con contexto de transferencia de control, según la regla FIFO (first come, first served).
EventLoop actúa como un enlace a Thread Pool, para escribir código lineal en un hilo.
Es decir, se escribe código como siempre de forma lineal en un hilo, y EventLoop distribuye la ejecución de las tareas al Thread Pool.
¡Lo que es perfecto para los Asesores Expertos y los scripts mql que se ejecutan en un hilo!
Todo es simple y sencillo.

Archivos adjuntos:
gmgg488y.png  48 kb
 
Roman:

Por eso han inventado la ejecución asíncrona de tareas según la regla FIFO (first come, first served).
EventLoop sirve de enlace con Thread Pool, para escribir código lineal en un hilo.
Es decir, se escribe código como siempre de forma lineal en un hilo, y EventLoop distribuye la ejecución de las tareas al Thread Pool.
¡Lo que es perfecto para los Asesores Expertos y los scripts mql que se ejecutan en un hilo!
Es simple y sencillo.

Así de fácil: sustituya la palabra habitual "ordenada" por una abreviatura ingeniosamente inventada de FIFO y obtendrá una impresión... e incluso hay un artículo completo en la wikipedia. ¿Tal vez deberíamos crear un instituto de investigación científica sobre el tema?

¿No hay un código en alguna parte que no esté escrito linealmente?

Pero de todos modos podemos ver el progreso: ya ha aparecido Thread Pol.

 
Dmitry Fedoseev:

Así de fácil: sustituya la palabra habitual "ordenada" por una abreviatura ingeniosa de FIFO y obtendrá una impresión... e incluso hay un artículo completo en la wikipedia. ¿Tal vez deberíamos crear un instituto de investigación científica sobre el tema?

¿No hay un código en alguna parte que no esté escrito linealmente?

FIFO (primero en entrar, primero en salir) es sólo fuera de orden, por lo que entender la esencia de la misma ))

 
Roman:

El FIFO (first come, first served) está fuera de lugar, pero ya entendí el punto))

Sí, así es. Es hora de organizar un FIFO.

Por supuesto, es curioso: el primero que llega es el primero que se sirve, ¡esto no es LIFO!

Así que el LIFO está en orden. ¿Sí?

 
Dmitry Fedoseev:

Sí, así es. Es el momento de crear un NIFIFO.

Es divertido - el primero que llega es el primero que se sirve - ¡eso NO es LIFO!

Así que el LIFO está a la orden del día. ¿Sí?

LIFO o last in, first out, aquí tampoco hay orden.
Estás interpretando mal el orden, debe interpretarse como orden asíncrono de llegada alThread Pol desde el EventLoop, no como orden de procesamiento.
El orden de procesamiento dependerá de las tareas ya recibidas porel hilo Pol, es decir, de forma asíncrona.
Thread Pol sólo los ejecuta yEventLoop losdistribuye.

 
Roman:

LIFO o last in, first out (llegó el último y se procesó el primero) - aquí tampoco hay secuencia.
Estás interpretando mal el orden, debería interpretarse como el orden asíncrono de llegada al Thread Pol desde el EventLoop, no el orden de procesamiento.
El orden de procesamiento dependerá de las tareas ya recibidas en el hilo Pol, es decir, de forma asíncrona.
Thread Pol sólo los ejecuta yEventLoop losdistribuye.

Original. Llegó, se fue, fue el primero, el último... ¿no está fuera de la categoría de orden?

¿Qué es el "orden asíncrono"? ¿Existe también un orden sincrónico? ¿Siquiera sabes de qué estás discutiendo? ¿O sólo estás repasando palabras conocidas? Y crear combinaciones de ellas con otras palabras conocidas.

Y aquí está el significado de esta obra maestra por su profundidad de pensamiento: "El orden de procesamiento dependerá de las tareas introducidas enThread Pol, es decir, de forma asíncrona". explicar. ¿Lo entiendes tú mismo?

"Thread Pol ...EventLoop" - tienes un problema de priorización aquí.

 
Dmitry Fedoseev:

Original. Llegó, se fue, fue el primero, el último... ¿no está fuera de la categoría de orden?

¿Qué es el "orden asíncrono"? ¿Existe también un orden sincrónico? ¿Y sabes siquiera de qué estás discutiendo? ¿O sólo estás repasando palabras conocidas?

¿Y qué significa esta obra maestra por su profundidad de pensamiento - "El orden de procesamiento ya dependerá de las tareas introducidas en Thread Pol, es decir, de forma asíncrona"? explicar. ¿Lo entiendes?

"Thread Pol ...EventLoop" - aquí tienes el problema de la priorización.

Veo que es inútil explicarte nada, estás por tu cuenta.
Como dicen, todo está en la red.
Buena suerte con eso.

 
Roman:

Veo que es inútil explicarte nada, estás por tu cuenta.
Como se suele decir, todo está en línea.
Buena suerte con eso.

¿Qué puede explicar? Y tonterías - sí, las hay en la web, las hemos visto mejores.

 
Dmitry Fedoseev:

¿Qué puede explicar? Y tonterías, sí, hay tonterías en la red, las hemos visto mejores.

Estaba claro desde el principio que para ti todo son tonterías. ))
Otras personas utilizan con éxito el enfoque asíncrono en sus soluciones )))

Espero que los desarrolladores hayan escuchado la idea de Eventloop, y la implementen en el futuro.

 
Roman:

Espero que los desarrolladores hayan escuchado la idea de Eventloop y la implementen en el futuro.

El futuro ya está aquí.

MT tiene Eventloop.

Razón de la queja: