[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 380

 
Zhunko:
Wie man die Warteschlange in einer Programmiersprache anordnet, hängt vom Programmierer ab. Die Warteschlangenbildung auf Kernel-Ebene wird vom System ausgeführt und ist nicht garantiert.


Also, los geht's. In Ihrem Code, den Sie vorhin gezeigt haben, ist die Warteschlange nicht organisiert. Und was das System nicht garantiert, ist das, worüber Sie sprechen und was Sie selbst tun sollten. Aber in einigen Fällen ist es leicht und einfach zu machen, und in anderen Fällen müssen Sie viel nachdenken und programmieren, weil es keine speziellen Werkzeuge dafür gibt.

Vadim, du hast eine interessante Art zu reden, es ist, als ob du vergisst, worum es in dem Gespräch ging, oder du hast eine besondere Weisheit. Erst haben Sie den Code gezeigt und argumentiert, dass die Reihenfolge eingehalten wird, und jetzt stellen Sie die These auf, dass dies nicht gewährleistet ist... Manchmal widersprechen Sie sich selbst, aber das ist keine Flexibilität des Geistes.

 
Integer:


Und los geht's. In Ihrem Code, den Sie etwas früher gezeigt haben, ist die Warteschlangenbildung nicht organisiert. Und die Tatsache, dass sie nicht vom System erfasst wird, ist das, worüber wir hier sprechen, und was man selbst tun kann. Aber in einigen Fällen ist es leicht und einfach zu machen, und in anderen Fällen werden Sie viel Code und Nachdenken haben, weil es keine speziellen Werkzeuge dafür gibt.

Vadim, du hast eine interessante Art zu reden, es ist, als ob du vergisst, worum es in dem Gespräch ging, oder du hast eine besondere Weisheit. Erst haben Sie den Code gezeigt und argumentiert, dass die Reihenfolge eingehalten wird, und jetzt stellen Sie die These auf, dass dies nicht gewährleistet ist... Vielleicht widersprechen Sie sich manchmal selbst, aber das ist keine Flexibilität des Geistes.

Dim, eine weitere Beschwerde? Die Warteschlange wird entsprechend den Möglichkeiten des Systems beachtet. Was können Sie sonst noch von dem System verlangen?

Ich habe nie andere Warteschlangen einrichten müssen. Das System hat genügend Möglichkeiten. Aus irgendeinem Grund garantieren sie keine Warteschlangen auf Kernel-Ebene. Aber die atomare Ausführung ist garantiert.

 
Zhunko:

Dim, eine weitere Beschwerde? Die Warteschlange wird entsprechend der Kapazität des Systems geführt. Was können Sie sonst noch von dem System verlangen?

Ich habe noch nie andere Warteschlangen organisieren müssen. Das System hat genügend Möglichkeiten. Aus irgendeinem Grund ist nicht gewährleistet, dass es eine Warteschlange auf Kernel-Ebene gibt. Aber die atomare Ausführung ist garantiert.

Wenn es den Möglichkeiten des Systems entspricht, ist die Warteschlangenbildung nicht gewährleistet. Aber Sie haben damit begonnen, zu argumentieren, dass sie zur Verfügung gestellt wird. Dann begannen Sie zu beweisen, dass dies nicht gewährleistet ist. Jetzt haben wir Ablass - das ist nach dem System möglich:). Die Tatsache, dass Sie nie eine Sequenz bereitstellen mussten, hängt von Ihrem prinzipiellen Ansatz bei der Programmierung ab. Einige der Funktionen in Ihrer bekannten Bibliothek erfordern Warteschlangen. Da Sie keine garantierte Warteschlange anbieten, herzlichen Glückwunsch! Ich habe keine Beschwerden, aber machen Sie keine große Sache daraus und überziehen Sie alles mit einem Mythos von Geheimnis, Geheimhaltung und etwas anderem, das über alles andere hinausgeht.

 
Ich danke Ihnen!!!
 
Integer:

Wenn es den Möglichkeiten des Systems entspricht, bedeutet dies, dass der Auftrag nicht gewährleistet ist. Aber Sie haben angefangen zu argumentieren, dass dies gewährleistet ist. Dann begannen Sie zu beweisen, dass dies nicht gewährleistet ist. Jetzt heißt es Ablasshandel - das ist nach dem System möglich:) Die Tatsache, dass Sie nie eine Sequenz bereitstellen mussten, hängt von Ihrem prinzipiellen Ansatz bei der Programmierung ab. Einige der Funktionen in Ihrer bekannten Bibliothek erfordern Warteschlangen. Da Sie keine garantierte Warteschlange anbieten, herzlichen Glückwunsch! Ich habe keine Beschwerden, aber machen Sie keine große Sache daraus und überziehen Sie alles mit einem Mythos von Geheimnis, Geheimhaltung und etwas anderem, das über alles andere hinausgeht.

Das System erzwingt eine Warteschlange in einer Reihenfolge, die Ihnen nicht gefällt und die nicht mit der Warteschlangenreihenfolge der Module übereinstimmt, die auf ihre Ausführung warten. Nennen Sie das eine Abwesenheit in der Warteschlange?

Für mich ist jede Warteschlange eine Warteschlange. Einschließlich der Ausführungswarteschlange auf Kernel-Ebene. Es ist eine Blackbox. Nehmen Sie es als das, was es ist. Sie brauchen eine eigene Warteschlange mit einer eigenen Reihenfolge - stellen Sie sie selbst zusammen.

Eine Sonderbestellung ist in dieser Bibliothek nicht erforderlich. Ich verwende verschiedene Synchronisationsobjekte. Es spielt keine Rolle, in welcher Reihenfolge sie ausgeführt werden. Sie müssen nicht darüber nachdenken. Das System wird alles von selbst erledigen.

Ich verstehe nicht, was ich damit meine, geheimnisvoll zu sein. Schon wieder diese Fantasie? :-))

 
Zhunko:

1. Das System erzwingt eine Warteschlange in einer Reihenfolge, die Ihnen nicht gefällt und die nicht mit der Warteschlangenreihenfolge der Module übereinstimmt, die auf ihre Ausführung warten. Nennen Sie das eine Abwesenheit in der Warteschlange?

2. Für mich ist jede Warteschlange eine Warteschlange. Einschließlich der Ausführungswarteschlange auf Kernel-Ebene. Es ist eine Blackbox. Nehmen Sie es, wie es ist. Sie brauchen eine eigene Warteschlange mit einer eigenen Reihenfolge - organisieren Sie sie selbst.

3. In dieser Bibliothek besteht keine Notwendigkeit für eine besondere Reihenfolge der Ausführung. Ich verwende verschiedene Synchronisationsobjekte. Es spielt keine Rolle, in welcher Reihenfolge sie ausgeführt werden. Sie müssen nicht darüber nachdenken. Das System macht das ganz von alleine.

4. Ich verstehe nicht, was ich damit meine, geheimnisvoll zu sein. Schon wieder diese Fantasien? :-))


(1) Die Gewährung eines atomaren Zugangs bedeutet nicht, dass eine einheitliche Reihenfolge des Zugangs vorgesehen ist. Die Reihenfolge des Zugriffs auf die Funktionen wird praktisch zufällig sein, was nicht ausschließt, dass eine Funktion zu einem bestimmten Zeitpunkt ausgelassen wird.

2. Keine Blackbox, aber völlig abwesend. Die Reihenfolge der Ausführung ist so, wie die Oma aus dem siebten Stock niest.

Es muss jedoch sichergestellt werden, dass alle Funktionen gleich ausgeführt werden (oder genauer gesagt, dass die Terminals in einem Bündel angesprochen werden). Manchmal scheint es, dass Sie nicht verstehen, worüber wir sprechen. Sie haben, Sie haben nicht. Und immer mit einer solchen Wendung... Wenn es keins gibt, dann gibt es eins, aber das ist es nicht und nicht so...

4. Du, Vadim, bist so verstrickt, dass du nicht verstehst, in was du verstrickt bist, wie du verstrickt bist und für wie lange...

 
Hat eine Menge Prozessorkerne gekauft. Und nun: Für welchen steht man an? )))))))))
 
Integer:


(1) Die Gewährung eines atomaren Zugangs bedeutet keineswegs, dass eine einheitliche Zugangsreihenfolge vorgesehen ist. Die Reihenfolge, in der auf die Funktionen zugegriffen wird, ist nahezu zufällig, was nicht ausschließt, dass eine Funktion zu einem bestimmten Zeitpunkt nicht ausgelassen wird.

2. Keine Blackbox, aber völlig abwesend. Die Reihenfolge der Ausführung ist so, wie die Oma aus dem siebten Stock niest.

(3) Es muss jedoch sichergestellt werden, dass alle Funktionen (oder genauer gesagt, die Terminals in einem Bündel) gleich ausgeführt werden. Manchmal scheint es, als würden Sie nicht verstehen, worüber wir sprechen. Sie haben, Sie haben nicht. Und immer mit einer solchen Wendung... Wenn es keins gibt, dann gibt es eins, aber das ist es nicht und nicht so...

4. Du, Vadim, bist so verstrickt, dass du nicht verstehst, in was du verstrickt bist, wie du verstrickt bist und für wie lange...

Sie scheinen die Punkte getrennt zu haben, aber Sie antworten nicht entsprechend ihrer Bedeutung. Ja, auch darauf müssen Sie nicht antworten. Ich verstehe, dass für Sie die Warteschlange und die Reihenfolge der Ausführung dasselbe sind. Deshalb wissen Sie nicht, wovon ich spreche.

Wenn Sie eine einheitliche Ausführung wünschen, sollten Sie einen einzelnen Thread verwenden. Sie brauchen dann keine Synchronisierung. Wie kann man eine einheitliche Ausführung von Threads gewährleisten, deren Laufzeit und Anzahl unbekannt sind?

Meine ist einfach. In und aus dem geschützten Block, so wie es nach der Wissenschaft der Programmierung sein sollte. Sie brauchen sich nicht um Ihre spezielle Warteschlange zu kümmern. Du wirst es eines Tages herausfinden.

Ja, du liegst auch völlig falsch mit dem hervorgehobenen Punkt. Bei ordnungsgemäßer Synchronisierung (d. h. ohne Fehler im Code oder in der Logik) werden alle Threads ausgeführt. Dies wird durch das System und nicht durch die Reihenfolge der Ausführung gewährleistet.

 
Zhunko:

1. Sie scheinen die Punkte aufgeschlüsselt zu haben, aber Sie antworten nicht in einer sinnvollen Weise. Ja, auch darauf müssen Sie nicht antworten. Ich verstehe, dass für Sie die Warteschlange und die Reihenfolge der Warteschlange ein und dasselbe sind. Deshalb wissen Sie nicht, wovon ich spreche.

2. Wenn Sie eine einheitliche Ausführung wünschen, verwenden Sie einen einzelnen Thread. Sie brauchen dann keine Synchronisierung. Wie kann man eine einheitliche Ausführung von Threads sicherstellen, deren Ausführungszeit und Anzahl nicht bekannt sind?

3. Ich habe es einfach. In und aus dem geschützten Block, wie es nach der Wissenschaft der Programmierung sein sollte. Sie brauchen sich nicht um Ihre spezielle Warteschlange zu kümmern. Du wirst es eines Tages herausfinden.

4. Ja, du liegst auch völlig falsch mit dem hervorgehobenen Punkt. Bei ordnungsgemäßer Synchronisierung (d. h. ohne Fehler im Code oder in der Logik) werden alle Threads ausgeführt. Dies wird durch das System und nicht durch die Ausführungsreihenfolge gewährleistet.


1. Sie müssen Verständnisprobleme haben. Ich weiß, wovon du sprichst.

2. Danke, aber ich habe nicht um einen Ratschlag gebeten. Vor allem jetzt, wo wir über die Synchronisierung von etwas sprechen, das sich nicht bereits in einem einzigen Thread befindet.

3. die Art und Weise, wie sie nach wissenschaftlichen Erkenntnissen durchgeführt werden sollte. Welche Wissenschaft? Ihre eigene Wissenschaft? Eines Tages werden Sie es verstehen, aber es ist nichts Kompliziertes daran. Programmiersprachen und Algorithmen wurden nicht von Dummköpfen erfunden und geschaffen. Aber aus irgendeinem Grund sind sie mit Mitteln zur Synchronisierung und Warteschlangenbildung ausgestattet.

4. sehr falsch. Wenn richtig....Wenn es eine Synchronizität gab. Aber in dem Code, den Sie vorhin zitiert haben, gibt es keine Synchronität, sondern nur atomaren Zugriff.

 
Zhunko:

Die Warteschlange ist wie in jeder anderen Sprache organisiert. Allein durch die Organisation der Ein- und Ausgänge des zu schützenden Blocks.

Dies ist ein Skript:

Eine Verkleinerung, z. B. durch Ersetzen durch andere Funktionen, wird nicht funktionieren. Das ist der Sinn des atomaren Zugangs. Nur eine Funktion kann dies in MQL4 tun.

Es scheint gut zu funktionieren. Es wurden 6 Skripte mit Pausen von 3000, 2000, 1000, 500, 300, 200 geladen. Hier ist ein Teil des Protokolls:

19:58:36 Check_GlobalVariableSetOnCondition() GBPJPY,M1: GBPJPY Start
19:58:37 Check_GlobalVariableSetOnCondition() GBPJPY,M1: GBPJPY Ende
19:58:37 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Start
19:58:39 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD End
19:58:39 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Start
19:19:58:39 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Ende
19:58:39 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD Start
19:58:43 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD Ende
19:58:43 Check_GlobalVariableSetOnCondition() GBPUSD,M1: GBPUSD Start
19:58:43 Check_GlobalVariableSetOnCondition() GBPUSD,M1: GBPUSD Ende
19:19:58:43 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Start
19:58:45 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Ende
19:58:45 Check_GlobalVariableSetOnCondition() GBPUSD,M1: GBPUSD Start
19:58:46 Check_GlobalVariableSetOnCondition() GBPUSD,M1: GBPUSD End
19:58:46 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD Start
19:19:58:46 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD End
19:58:46 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Start
19:58:46 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Ende
19:58:46 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD Start
19:58:47 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD Ende
1919:58:47 Check_GlobalVariableSetOnCondition() GBPJPY,M1: GBPJPY Start
19:58:48 Check_GlobalVariableSetOnCondition() GBPJPY,M1: GBPJPY Ende
19:58:48 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Start
19:58:50 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD End
19:58:50 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Start
19:19:58:50 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Ende
19:58:50 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD Start
19:58:54 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD Ende
19:58:54 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD Start
19:58:54 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD Ende
19:19:58:54 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Start
19:58:56 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Ende
19:58:56 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Start
19:58:57 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Ende
19:58:57 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD Start
1919:59:00 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD End
19:59:00 Check_GlobalVariableSetOnCondition() GBPUSD,M1: GBPUSD Start
19:59:00 Check_GlobalVariableSetOnCondition() GBPUSD,M1: GBPUSD Ende
19:59:00 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Start
19:59:01 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Ende


Noch einmal, nur für den Fall, dass man in einem Panzer in einem U-Boot sitzt und noch einen Helm trägt. Hier wird nur der atomare Zugang angezeigt. Die Reihenfolge der Funktionen wird so sein, wie der Wind weht. Dieser Code sieht keine einheitliche Ausführung von Funktionen vor. Deshalb gibt es keine Garantie dafür, dass eine Funktion nicht sehr lange auf dem Regal bleibt. Es ist lächerlich, sich bei der Programmierung auf die Gebrauchstauglichkeit zu verlassen, nur weil die Frequenz des Prozessors hoch ist, selbst wenn die Frequenz des Prozessors sehr hoch ist.