Programmation asynchrone et multithread dans MQL - page 10

 
Dmitry Fedoseev:

Rêve... et être envieux en silence.

Et je peux le répéter :"Il ne peut y avoir plus de tâches traitées en même temps que le nombre de cœurs d'un processeur". Si vous pensez autrement, je me lève et j'applaudis.

C'est pourquoi ils ont inventé l'exécution asynchrone des tâches avec contexte de transfert de contrôle, selon la règle FIFO (premier arrivé, premier servi).
EventLoop agit comme un lien avec Thread Pool, pour écrire du code linéaire dans un seul thread.
En d'autres termes, vous écrivez le code comme d'habitude de manière linéaire dans un thread, et EventLoop distribue l'exécution des tâches au pool de threads.
Ce qui est parfait pour les Expert Advisors et les scripts mql fonctionnant dans un seul et même fil !
Tout est simple et direct.

Dossiers :
gmgg488y.png  48 kb
 
Roman:

C'est pourquoi ils ont inventé l'exécution asynchrone des tâches selon la règle FIFO (premier arrivé, premier servi).
EventLoop sert de lien avec Thread Pool, pour écrire du code linéaire dans un seul thread.
En d'autres termes, vous écrivez le code comme d'habitude de manière linéaire dans un thread, et EventLoop distribue l'exécution des tâches au pool de threads.
Ce qui est parfait pour les conseillers-experts et les scripts mql fonctionnant dans un seul fil !
C'est simple et direct.

Comme ça - remplacez le mot habituel "ordonné" par une abréviation astucieusement inventée FIFO et vous obtenez une impression... et il y a même un article entier sur wikipedia. Peut-être devrions-nous créer un institut de recherche scientifique sur le sujet ?

N'y a-t-il pas quelque part un code qui n'est pas écrit de façon linéaire ?

Mais nous pouvons tout de même constater des progrès - Thread Pol a déjà fait son apparition.

 
Dmitry Fedoseev:

Comme ça - remplacez le mot habituel "ordonné" par une abréviation astucieusement inventée FIFO et vous obtenez une impression... et il y a même un article entier sur wikipedia. Peut-être devrions-nous créer un institut de recherche scientifique sur le sujet ?

N'y a-t-il pas quelque part un code qui n'est pas écrit linéairement ?

Le FIFO (first in, first out) n'est pas dans l'ordre, mais il faut comprendre l'essentiel :))

 
Roman:

Le FIFO (premier arrivé, premier servi) n'est pas dans l'ordre, alors saisissez l'essentiel ;))

Oui, c'est vrai ! Il est temps d'organiser un FIFO.

Bien sûr, c'est drôle - premier arrivé, premier servi - ce n'est pas LIFO !

Donc le LIFO est en ordre. Oui ?

 
Dmitry Fedoseev:

Oui, c'est vrai ! Il est temps d'organiser un NIFIFO.

C'est amusant - premier arrivé, premier servi - ce n'est PAS le DEPS !

Le LIFO est donc à l'ordre du jour. Oui ?

LIFO ou dernier entré, premier sorti, il n'y a pas d'ordre ici non plus.
Vous interprétez l'ordre de manière incorrecte, il doit être interprété comme l'ordre asynchrone d'arrivée auThread Pol de l'EventLoop, et non l'ordre de traitement.
L'ordre de traitement dépendra des tâches déjà reçues par leThread Pol, c'est-à-dire de manière asynchrone.
Thread Pol ne fait que les exécuter etEventLoop lesdistribue.

 
Roman:

LIFO ou last in, first out (arrivé en dernier et traité en premier) - ici aussi, il n'y a pas de séquence.
Vous interprétez l'ordre de manière incorrecte, il doit être interprété comme l'ordre asynchrone d'arrivée au Thread Pol de l'EventLoop, et non l'ordre de traitement.
L'ordre de traitement dépendra des tâches déjà reçues par le Thread Pol, c'est-à-dire de manière asynchrone.
Thread Pol ne fait que les exécuter etEventLoop lesdistribue.

Original ! Venu, parti, premier, dernier - n'est-ce pas hors de la catégorie de l'ordre ?

Qu'est-ce que la "commande asynchrone" ? Existe-t-il aussi un ordre synchrone ? Et savez-vous au moins sur quoi vous vous disputez ? Ou est-ce que tu ne fais que passer par des mots familiers ? Et créez des combinaisons de ces mots avec d'autres mots familiers.

Et voici le sens de ce chef-d'œuvre par sa profondeur de pensée : "L'ordre de traitement dépendra des tâches saisies dansThread Pol, c'est-à-dire de manière asynchrone". expliquer. Vous comprenez ?

"Thread Pol ...EventLoop" - vous avez un problème de priorisation ici.

 
Dmitry Fedoseev:

Original ! Venu, parti, premier, dernier - n'est-ce pas hors de la catégorie de l'ordre ?

Qu'est-ce que la "commande asynchrone" ? Existe-t-il aussi un ordre synchrone ? Et savez-vous au moins sur quoi vous vous disputez ? Ou est-ce que tu ne fais que passer par des mots familiers ?

Et que signifie ce chef-d'œuvre par sa profondeur de pensée - "L'ordre de traitement dépendra déjà des tâches inscrites dans Thread Pol, c'est-à-dire de manière asynchrone" ? expliquer. Vous comprenez ?

"Thread Pol ...EventLoop" - vous avez ici le problème de la hiérarchisation des priorités.

Je vois qu'il est inutile de t'expliquer quoi que ce soit, tu es tout seul.
Comme on dit, tout est sur le net.
Bonne chance avec ça.

 
Roman:

Je vois qu'il est inutile de t'expliquer quoi que ce soit, tu es tout seul.
Comme ils aiment à le dire, tout est en ligne.
Bonne chance avec ça.

Que pouvez-vous expliquer ? Et des bêtises - oui, il y en a sur le web, on a vu mieux.

 
Dmitry Fedoseev:

Que pouvez-vous expliquer ? Et des bêtises - oui, il y a des bêtises sur le net, nous avons vu mieux.

Il était clair dès le début que pour vous, ce ne sont que des conneries. ))
D'autres personnes utilisent avec succès l'approche asynchrone dans leurs solutions ;)))

J'espère que les développeurs ont entendu l'idée d'Eventloop et qu'ils la mettront en œuvre à l'avenir.

 
Roman:

J'espère que les développeurs ont entendu l'idée d'Eventloop et qu'ils la mettront en œuvre à l'avenir.

L'avenir est déjà là.

MT a Eventloop.

Raison: