Programmation asynchrone et multithread dans MQL - page 9

 
Roman:

C'était juste une supposition, je n'ai pas encore vérifié où il est utilisé.
J'ai cherché sur Google quels langages utilisent EventLoop, c'est Py, JS, Qt peut-être dans quelques autres.
Le problème n'est pas de savoir où il est appliqué, mais bien de savoir comment utiliser la technologie elle-même sans utiliser de fils.
Alors pourquoi ne pas emprunter la technologie et implémenter en mql votre EventLoop ?

Vous n'avez pas vérifié ? Pouvez-vous le tester ?

Comment imaginez-vous l'asynchronie sans threads ? Tu peux aussi mettre ton pantalon sur ta tête ?

 
Dmitry Fedoseev:

Vous n'avez pas vérifié ? Pouvez-vous le tester ?

Comment imaginez-vous l'asynchronie sans threads ? Tu peux aussi mettre ton pantalon sur ta tête ?

Les développeurs sont mieux informés, je pense qu'ils savent ce que je veux dire.
Probablement oui, je me suis mal exprimé, et Thread Pool est utilisé et Callback est utilisé pour faire le travail.
De cette façon, on peut écrire du code asynchrone dans un seul fil Single Thread, et chaque demande est considérée comme un événement.

Dans les tests sur les agents, je pense que Thread Pool est utilisé, seulement pour les processus, c'est un comportement très similaire.
Pour cette raison, la technologie elle-même existe déjà dans mql, mais elle n'est pas développée pour les utilisateurs, dans l'écriture de code asynchrone.

Voici une compréhension du fonctionnement d'EventLoop dans Node.jsref
Voici comment fonctionne EventLoop dans asyncioref.

 
Roman:

...
Voici un aperçu du fonctionnement d'EventLoop dans le lien Node.js
Voici comment fonctionne EventLoop dans asyncio ref.

Oui, j'ai déjà compris que toi et tous ces adeptes de la programmation asynchrone êtes dans le même fil et que vous savez mettre votre pantalon sur votre tête.

***

J'ai préféré l'autre article sur EventLoop. Je cite : "puisque la plupart des noyaux modernes sont multithreadés..." Je n'ai pas lu davantage - c'était suffisant.

 
Pour cette raison, j'aimerais que les développeurs entendent cette suggestion, et développent leur propre EventLoop.
Ensuite, le terminal Metatrader cassera tout et tout le monde, et ce ne sera certainement pas égal !
 
Roman:
C'est pourquoi j'aimerais que les développeurs entendent cette suggestion, et développent leur propre EventLoop.
Alors le terminal Metatrader déchirera tout et tout le monde, et il ne sera pas inégalé !

Oubliez l'EventLoop. Conneries. Montre-moi comment mettre ton pantalon sur ta tête.

***

Lisez un peu sur le sujet, en discutant de la manière d'obtenir un entretien avec des questions sur EventLoop. On dirait que c'est une sorte de fétichisme du python et du j-nozzle. Cela n'a rien à voir avec la réalité.

***

Romain:

...

Voici un aperçu du fonctionnement d'EventLoop dans le lien Node.js
...

Lisons l'article. Au début "NodeJS est une application Single Thread fonctionnant sur une plateforme écrite avec C++, cette plateforme utilise Multi-Thread pour exécuter des tâches simultanément".

Continuer la lecture de "En tant que programme C++, il prend en charge le multithread, de sorte que les demandes seront traitées par plusieurs threads. NodeJS prend également en charge les processus multiples, ce qui signifie qu'ils peuvent être exécutés sur un noyau".

La question se pose : " mais qu'a pris l'auteur de cet article lorsqu'il l'a écrit ?

 
Dmitry Fedoseev:

J'ai préféré l'autre article sur EventLoop. Je cite : "puisque la plupart des noyaux modernes sont multithreadés..." Je n'ai pas lu davantage - c'était suffisant.

Le but est de permettre à l'utilisateur d'écrire du code asynchrone dans un seul thread, comme l'Expert/Script fonctionne dans un seul thread.
Et dans les contrées sauvages du terminal seront déjà développés des travaux, non disponibles à quiconque de l'extérieur d'EventLoop !
Cela n'a peut-être aucun sens pour vous, mais j'ai un serveur écrit en Py qui utiliseEventLoop.
Et traiter plus de mille tâches à la fois de manière asynchrone, c'est votre délire, même si tout le monde pense que Py est lent.
Écrivez de manière asynchrone et vous volerez, je ne porte pas de pantalon sur la tête, j'utilise simplement la bonne technologie.

 

Un autre article sur le sujet : "Le code asynchrone retire une opération bloquante du flux principal du programme, de sorte qu'elle continue à s'exécuter, mais ailleurs, et que le gestionnaire peut continuer. En termes simples, le "processus" principal effectue une tâche et la transmet à un autre "processus" indépendant." :)

Nan, il s'avère que cette citation vient de cet article :
Roman:

...
Voici comment fonctionne le lien EventLoop dans asyncio

Et voilà - le programme continue à s'exécuter ailleurs... et le gestionnaire reste ici.

N'avez-vous pas encore compris que l'auteur de cet article n'a aucune compétence dans ce dont il parle ? Il devrait lire quelque chose comme "Windows Fundamentals" des années 90.

Est-ce qu'il donne au processeur des pouvoirs mystiques dans ses articles, par hasard ?

 
Roman:

...Il suffit d'utiliser la bonne technologie.

Si vous avez toujours compris ce que vous utilisiez. Si tout restait dans un seul fil (si c'était possible), il n'y aurait pas d'augmentation de la vitesse. L'augmentation de la vitesse se fait au prix de la création d'un processus et de son traitement par un autre cœur.

Romain:

...
Et plus d'un millier de tâches sont traitées de manière asynchrone à la fois, c'est le non-sens, alors que tout le monde pense que Py est lent.
...

Il ne peut y avoir plus de tâches traitées en même temps qu'il n'y a de cœurs dans le processeur.

 
Dmitry Fedoseev:

Un autre article sur le sujet : "Le code asynchrone retire une opération bloquante du flux principal du programme, de sorte qu'elle continue à s'exécuter, mais ailleurs, et que le gestionnaire peut continuer. En termes simples, le "processus" principal effectue une tâche et la transmet à un autre "processus" indépendant." :)

Non, il s'avère que cette citation vient de cet article :

Et voilà - le programme continue à s'exécuter ailleurs... et le gestionnaire reste ici.

N'avez-vous pas encore compris que l'auteur de cet article n'a aucune compétence dans ce dont il parle ? Il devrait lire quelque chose comme "Windows Fundamentals" des années 90.

Est-ce qu'il donne au processeur des pouvoirs mystiques dans ses articles, par hasard ?

Le pool de threads ou les coroutines sont utilisés à cette fin. Vous n'avez tout simplement pas étudié cette technologie et n'avez pas compris l'essentiel.
Je n'ai aucune envie d'argumenter avec vous sur ce sujet, cette technologie est utilisée avec succès dans d'autres langues et moteurs par les entreprises du monde entier.
Et ce que vous trouvez absurde dans les articles, apparemment vous n'avez pas encore réalisé comment tout cela fonctionne dans un seul fil)).

 
Roman:

C'est à cela que servent les Thread Pool ou les Coroutines, vous n'avez tout simplement pas étudié la technologie donnée et n'avez pas compris l'ensemble du point jusqu'au bout.
Je n'ai aucune envie d'argumenter avec vous sur ce sujet, cette technologie est utilisée avec succès dans d'autres langues et moteurs par les entreprises du monde entier.
Et ce que vous trouvez absurde dans les articles, apparemment vous n'avez pas encore réalisé comment tout cela fonctionne dans un seul fil)).

(Rire) : Whoa ! La pression des autorités est sur... être aussi quelque part dans le monde avec ce code fonctionnant quelque part dans le monde))) Le pouvoir divin ne s'applique pas ?

L'expression même de "Thread Pool" implique la présence de plusieurs Threads.

Pour étudier la technologie... ...vous devriez d'abord maîtriser le bon sens.