[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 380

 
Zhunko:
La forma de organizar la cola en un lenguaje de programación depende del programador. Las colas a nivel del núcleo son ejecutadas por el sistema y no están garantizadas.


Así que aquí vamos. En tu código mostrado un poco antes, la cola no está organizada. Y lo que el sistema no garantiza es lo que tú dices y lo que debes hacer tú mismo. Pero en algunos casos es fácil y sencillo de hacer, y en otros tendrás que pensar y codificar mucho, porque no hay herramientas especiales para ello.

Vadim, tienes una forma interesante de hablar, es como si olvidaras de qué iba la conversación o tuvieras una sabiduría especial. Primero mostraste el código y argumentaste que el orden se respeta, y ahora planteas la tesis-postulado de que no se garantiza... A veces te contradices, pero esto no es flexibilidad mental.

 
Integer:


Y aquí vamos. En tu código mostrado un poco antes, la cola no está organizada. Y el hecho de que no sea cosechado por el sistema es lo que estamos hablando, y lo que hay que hacer por su cuenta. Pero en algunos casos es fácil y sencillo de hacer, y en otros tendrás mucho código y pensamiento, porque no hay herramientas especiales para ello.

Vadim, tienes una forma interesante de hablar, es como si olvidaras de qué iba la conversación o tuvieras una sabiduría especial. Primero mostraste el código y argumentaste que el orden se respeta, y ahora planteas la tesis-postulado de que no se garantiza... Puede que a veces te contradigas, pero eso no es flexibilidad mental.

Dim, ¿otra queja? La cola se respeta según las capacidades del sistema. ¿Qué más se puede exigir al sistema?

Nunca he tenido que organizar ninguna otra cola. El sistema tiene suficiente capacidad. Por alguna razón, no garantizan la cola a nivel del núcleo. Pero la ejecución atómica está garantizada.

 
Zhunko:

Dim, ¿otra queja? La cola se mantiene en función de la capacidad del sistema. ¿Qué más se puede exigir al sistema?

Nunca he tenido que organizar ninguna otra cola. El sistema tiene suficientes posibilidades. Por alguna razón, no se garantiza que haya una cola a nivel del núcleo. Pero la ejecución atómica está garantizada.

Si de acuerdo a las capacidades del sistema, entonces no se asegura la cola. Pero usted comenzó a argumentar que se proporciona. Entonces usted empezó a demostrar que no está asegurado. Ahora tenemos la indulgencia - que de acuerdo con las posibilidades del sistema:). El hecho de que nunca hayas necesitado proporcionar una secuencia depende de tu enfoque de principios para la programación. Algunas de las funciones de su conocida biblioteca requieren una cola de espera. Como no proporciona una cola garantizada, ¡felicidades! No tengo ninguna queja, sólo que no se haga un drama y se cubra todo con un mito de misterio, secreto y algo más allá de todo.

 
¡¡¡Gracias!!!
 
Integer:

Si de acuerdo a las capacidades del sistema, significa que la orden no está asegurada. Pero usted comenzó a argumentar que está asegurado. Entonces usted empezó a demostrar que no está asegurado. Ahora es la indulgencia - que de acuerdo a las posibilidades del sistema:) El hecho de que nunca hayas necesitado proporcionar una secuencia depende de tu enfoque de principios para la programación. Algunas de las funciones de su conocida biblioteca requieren una cola de espera. Como no proporciona una cola garantizada, ¡felicidades! No tengo ninguna queja, sólo que no se haga un drama y se cubra todo con un mito de misterio, secreto y algo más allá de todo.

El sistema impone una cola en un orden que no le gusta, y que no coincide con el orden de la cola de los módulos que están esperando ser ejecutados. ¿Esto es lo que se llama ausencia de cola?

Para mí, cualquier cola es una cola. Incluyendo la cola de ejecución a nivel del kernel. Es una caja negra. Tómalo como lo que es. Necesitas tu propia cola con su propio orden: organízala tú mismo.

No es necesario hacer un pedido especial en esa biblioteca. Utilizo diferentes objetos de sincronización. No importa en qué orden se ejecute. No tienes que pensar en ello. El sistema lo hará todo por sí mismo.

No entiendo lo de ser misterioso. ¿Otra vez con la fantasía? :-))

 
Zhunko:

1. El sistema impone una cola en un orden que no le gusta, y que no coincide con el orden de la cola de los módulos que están esperando ser ejecutados. ¿Esto es lo que se llama ausencia de cola?

2. Para mí, cualquier cola es una cola. Incluyendo la cola de ejecución a nivel del kernel. Es una caja negra. Tómalo como es. Necesita su propia cola con su propio orden - organícela usted mismo.

3. En esa biblioteca no es necesario un orden de ejecución especial. Utilizo diferentes objetos de sincronización. No importa en qué orden se ejecute. No tienes que pensar en ello. El sistema lo hará todo por sí mismo.

4. No entiendo a qué me refiero con lo de ser misterioso. ¿Otra vez con las fantasías? :-))


1. Proporcionar un acceso atómico no implica en absoluto proporcionar un orden de acceso uniforme. El orden de acceso a las funciones será prácticamente accidental, lo que no excluye que alguna función no quede fuera en algún momento.

2. No es una caja negra, pero está completamente ausente. El orden de ejecución es como estornuda la abuela del séptimo piso.

3. Sin embargo, es necesario garantizar la ejecución por igual de todas las funciones (o, más exactamente, abordar los terminales en un paquete). A veces parece que no se entiende de qué estamos hablando. Lo tienes, no lo tienes. Y siempre con una vuelta de tuerca... Si no hay, entonces sí, pero no es eso y no es así...

4. Tú, Vadim, estás tan envuelto que no entiendes en qué estás envuelto, cómo estás envuelto y por cuánto tiempo...

 
Compró un montón de núcleos de procesador. Y ahora cuál es el que hay que poner en cola para )))))))))
 
Integer:


1. Proporcionar un acceso atómico no implica en absoluto proporcionar un orden de acceso uniforme. El orden de acceso a las funciones será casi aleatorio, lo que no descarta que alguna función no quede fuera en algún momento.

2. No es una caja negra, pero está completamente ausente. El orden de ejecución es como estornuda la abuela del séptimo piso.

3. Sin embargo, es necesario garantizar la ejecución por igual de todas las funciones (o, más exactamente, abordar los terminales en un paquete). A veces parece que no se entiende de qué estamos hablando. Lo tienes, no lo tienes. Y siempre con un giro tan... Si no hay, entonces sí, pero no es eso y no es así...

4. Tú, Vadim, estás tan envuelto que no entiendes en qué estás envuelto, cómo estás envuelto y por cuánto tiempo...

Parece que has dividido los puntos, pero no estás respondiendo de acuerdo con el significado. Sí, tampoco tienes que responder ahí. Entiendo que para ti, la cola y el orden de ejecución son la misma cosa. Por eso no sabes de qué estoy hablando.

Si quieres una ejecución uniforme, debes usar un solo hilo. Entonces no necesitarás la sincronización. ¿Cómo se puede garantizar la ejecución uniforme de hilos cuyo tiempo de ejecución y número se desconocen?

La mía es sencilla. Entrar y salir del bloque protegido, como debe ser por la ciencia de la programación. No hay necesidad de molestarse con su cola especial en absoluto. Algún día lo descubrirás.

Sí, también te equivocas de pleno en el resaltado. Una sincronización bien hecha (es decir, sin errores en el código o la lógica) ejecuta todos los hilos. Esto está garantizado por el sistema a diferencia del orden de ejecución.

 
Zhunko:

1. Parece que has desglosado los puntos, pero no respondes de manera significativa. Sí, tampoco tienes que responder ahí. Entiendo que para ti, la cola y el orden de la cola son una misma cosa. Por eso no sabes de qué estoy hablando.

2. Si necesita una ejecución uniforme, utilice un solo hilo. Entonces no necesitarás la sincronización. ¿Cómo se puede garantizar una ejecución uniforme de los hilos, cuyo tiempo de ejecución y número no se conocen?

3. Lo tengo sencillo. Entrar y salir del bloque protegido, como debe ser por la ciencia de la programación. No hay necesidad de molestarse con su cola especial en absoluto. Algún día lo descubrirás.

4. Sí, también te equivocas de pleno con el resaltado. Una sincronización bien hecha (es decir, sin errores en el código o la lógica) ejecuta todos los hilos. Esto está garantizado por el sistema a diferencia del orden de ejecución.


1. Debes tener problemas de comprensión. Sé de lo que hablas.

2. Gracias, pero no estaba pidiendo consejo. Especialmente ahora que estamos discutiendo la sincronización de algo que no está ya en un solo hilo.

3. la forma en que debe hacerse según la ciencia. ¿Qué ciencia? ¿Su propia ciencia? Algún día lo entenderás, pero no es nada complicado. Los lenguajes de programación y los algoritmos no fueron inventados ni creados por tontos. Pero por alguna razón están provistos de medios de sincronización y cola.

4. Muy mal. Si es correcto....Si hubo sincronización. Pero en ese código que has citado aquí un poco antes no hay sincronización, sólo acceso atómico.

 
Zhunko:

La cola se organiza como en cualquier otra lengua. Por sí mismo a través de la organización de la entrada y salida del bloque a proteger.

Esto es un guión:

En cuanto a la reducción, como sustituirla por otras funciones, no funcionará. En eso consiste el acceso atómico. Sólo una función puede hacer esto en MQL4.

Parece que funciona bien. Cargado 6 scripts con pausas de 3000, 2000, 1000, 500, 300, 200. Aquí está parte del registro:

19:58:36 Check_GlobalVariableSetOnCondition() GBPJPY,M1: GBPJPY Inicio
19:58:37 Check_GlobalVariableSetOnCondition() GBPJPY,M1: GBPJPY Fin
19:58:37 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Inicio
19:58:39 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Fin
19:58:39 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Inicio
19:19:58:39 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD End
19:58:39 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD Start
19:58:43 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD Fin
19:58:43 Check_GlobalVariableSetOnCondition() GBPUSD,M1: GBPUSD Inicio
19:58:43 Check_GlobalVariableSetOnCondition() GBPUSD,M1: GBPUSD Fin
19:19:58:43 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Start
19:58:45 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD End
19:58:45 Check_GlobalVariableSetOnCondition() GBPUSD,M1: GBPUSD Inicio
19:58:46 Check_GlobalVariableSetOnCondition() GBPUSD,M1: GBPUSD Fin
19:58:46 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD Inicio
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 Fin
19:58:46 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD Inicio
19:58:47 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD Fin
1919:58:47 Check_GlobalVariableSetOnCondition() GBPJPY,M1: GBPJPY Inicio
19:58:48 Check_GlobalVariableSetOnCondition() GBPJPY,M1: GBPJPY Fin
19:58:48 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Inicio
19:58:50 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Fin
19:58:50 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Inicio
19:19:58:50 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD End
19:58:50 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD Start
19:58:54 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD Fin
19:58:54 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD Inicio
19:58:54 Check_GlobalVariableSetOnCondition() NZDUSD,M1: NZDUSD Fin
19:19:58:54 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD Start
19:58:56 Check_GlobalVariableSetOnCondition() EURUSD,M1: EURUSD End
19:58:56 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Inicio
19:58:57 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Fin
19:58:57 Check_GlobalVariableSetOnCondition() AUDUSD,M1: AUDUSD Inicio
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 Fin
19:59:00 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Inicio
19:59:01 Check_GlobalVariableSetOnCondition() USDCAD,M1: USDCAD Fin


Una vez más, por si acaso, para los que están en un tanque en un submarino y todavía llevan casco. Aquí sólo se muestra el acceso atómico. El orden de las funciones de trabajo será como el viento sople. Este código no prevé una ejecución uniforme de las funciones. Por eso no hay garantía de que una función no permanezca en la estantería durante mucho tiempo. Confiar en la capacidad de servicio en la programación sólo porque la frecuencia del procesador es alta es ridículo, incluso si la frecuencia del procesador es muy alta.

Razón de la queja: