Programmazione asincrona e multithread in MQL - pagina 9

 
Roman:

Era solo un'ipotesi, non ho ancora controllato dove si usa.
Cercando su Google quali linguaggi usano EventLoop, si tratta di Py, JS, Qt, probabilmente altri.
Il punto non è dove si applica, ma nella tecnologia stessa senza usare fili.
Allora perché non prendere in prestito la tecnologia e implementare in mql il vostro EventLoop?

Non hai controllato? Puoi testarlo?

Come immaginate l'asincronia senza thread? Puoi anche metterti i pantaloni in testa?

 
Dmitry Fedoseev:

Non hai controllato? Puoi testarlo?

Come immaginate l'asincronia senza thread? Puoi anche metterti i pantaloni in testa?

Gli sviluppatori lo sanno bene, penso che sappiano cosa intendo.
Probabilmente sì, mi sono espresso male, e Thread Pool è usato e Callback è usato per fare il lavoro.
E in questo modo si scrive codice asincrono in un thread Single Thread, e ogni richiesta è considerata come un evento.

Nei test sugli agenti, penso che Thread Pool sia usato, solo per i processi, è un comportamento molto simile.
Per questo motivo la tecnologia stessa esiste già in mql, solo non sviluppata per gli utenti, nella scrittura di codice asincrono.

Ecco una comprensione di come funziona EventLoop in Node.jsref
Ecco come funziona EventLoop in asyncioref.

 
Roman:

...
Ecco un'idea di come funziona EventLoop in Node.js link
Ecco come funziona EventLoop in Asyncio .

Sì, ho già capito che tu e tutti quegli adepti della programmazione asincrona siete nello stesso thread e sapete come mettervi i pantaloni in testa.

***

Mi è piaciuto di più l'altro articolo su EventLoop. Cito: "dato che la maggior parte dei kernel moderni sono multi-thread..." Non ho letto oltre - era abbastanza.

 
Per questo motivo, vorrei che gli sviluppatori ascoltassero questo suggerimento e sviluppassero il proprio EventLoop.
Allora il terminale Metatrader farà a pezzi tutti e tutto, e sicuramente non sarà uguale!
 
Roman:
Ecco perché mi piacerebbe che gli sviluppatori ascoltassero questo suggerimento e sviluppassero il loro EventLoop.
Allora il terminale Metatrader farà a pezzi tutti e tutto, e non sarà ineguagliabile!

Dimenticate l'EventLoop. Stronzate. Mostrami come ti metti i pantaloni sopra la testa.

***

Leggi un po' sull'argomento, discutendo su come ottenere un'intervista con domande su EventLoop. Sembra che sia una specie di feticcio di pitone e j-nozzle. Non ha niente a che vedere con la realtà.

***

Romano:

...

Ecco un'idea di come funziona EventLoop in Node.js ref
...

Leggiamo l'articolo. All'inizio "NodeJS è un'applicazione Single Thread che gira su una piattaforma scritta con C++, questa piattaforma usa Multi-Thread per eseguire compiti simultaneamente".

Continua a leggere "Essendo un programma C++, supporta Multi-Threads, quindi le richieste qui saranno gestite da più threads. NodeJS supporta anche Multi Processes, significa che possono essere eseguiti su un Core".

La domanda sorge spontanea: "ma cosa ha preso l'autore di questo articolo quando lo ha scritto?

 
Dmitry Fedoseev:

Mi è piaciuto di più l'altro articolo su EventLoop. Cito: "dato che la maggior parte dei kernel moderni sono multi-thread..." Non ho letto oltre - era abbastanza.

Il punto è di permettere all'utente di scrivere codice asincrono in un singolo thread, come l'Expert/Script lavora in un singolo thread.
E nelle zone selvagge del terminale sarà già funzionante sviluppato, non disponibile a nessuno dall'esterno di EventLoop!
Questo può essere senza senso per voi, io ho un server scritto in Py usandoEventLoop.
Ed elabora più di mille compiti alla volta in modo asincrono, questa è la tua illusione, anche se tutti pensano che Py sia lento.
Scrivi in modo asincrono e volerai, io non porto i pantaloni sopra la testa, basta usare la tecnologia giusta.

 

Un altro articolo sull'argomento: "Il codice asincrono rimuove un'operazione bloccante dal flusso principale del programma, in modo checontinui ad essere eseguito, ma da qualche altra parte, e il gestore possa andare avanti. In poche parole, il "processo" principale mette un compito e lo passa a un altro "processo" indipendente". :)

No, si scopre che questa citazione è da questo articolo:
Roman:

...
Ecco come funziona EventLoop nel link asyncio

Ecco fatto - il programma continua a girare da qualche altra parte... e il gestore rimane qui.

Non avete ancora capito che l'autore di questo articolo non ha alcuna competenza in ciò di cui parla? Dovrebbe leggere qualcosa come "Windows Fundamentals" degli anni '90.

Per caso, nei suoi articoli dà al processore dei poteri mistici?

 
Roman:

...Basta usare la tecnologia giusta.

Se hai ancora capito cosa stavi usando. Se tutto rimanesse in un solo thread (se fosse possibile), non ci sarebbe nessun aumento di velocità. L'aumento di velocità avviene a costo di creare un processo e farlo elaborare da un altro core.

Romano:

...
E più di mille compiti vengono elaborati in modo asincrono alla volta, questa è l'assurdità, mentre tutti pensano che Py sia lento.
...

Non ci possono essere più compiti elaborati allo stesso tempo di quanti siano i core nel processore.

 
Dmitry Fedoseev:

Un altro articolo sull'argomento: "Il codice asincrono rimuove un'operazione bloccante dal flusso principale del programma, in modo che continui ad essere eseguito, ma da qualche altra parte, e il gestore possa andare avanti. In poche parole, il "processo" principale mette un compito e lo passa a un altro "processo" indipendente". :)

No, si scopre che la citazione viene da questo articolo:

Ecco fatto - il programma continua a girare da qualche altra parte... e il gestore rimane qui.

Non avete ancora capito che l'autore di questo articolo non ha alcuna competenza in ciò di cui parla? Dovrebbe leggere qualcosa come "Windows Fundamentals" degli anni '90.

Per caso, nei suoi articoli dà al processore dei poteri mistici?

Thread Pool o Coroutines è usato per questo scopo, semplicemente non hai studiato questa tecnologia e non hai capito tutto il punto.
Non ho alcuna voglia di discutere con voi su questo argomento, questa tecnologia è utilizzata con successo in altre lingue e motori dalle aziende del mondo.
E quello che trovate di insensato negli articoli, evidentemente non avete ancora capito come funziona tutto in un thread)).

 
Roman:

È a questo che servono i Thread Pool o le Coroutines, semplicemente non hai studiato la tecnologia data e non hai capito fino in fondo il punto.
Non ho alcuna voglia di discutere con voi su questo argomento, questa tecnologia è utilizzata con successo in altre lingue e motori dalle aziende del mondo.
E quello che trovate di insensato negli articoli, evidentemente non avete ancora capito come funziona tutto in un thread)).

(Whoa! La pressione delle autorità è... anche essere da qualche parte là fuori con quel codice in esecuzione da qualche parte là fuori))) Non si applica il potere divino?

L'espressione stessa "Thread Pool" implica la presenza di diversi thread.

Per studiare la tecnologia... ...dovresti prima padroneggiare il buon senso.