![]() |
Una de Sincronismo
Buenas a Todos....
Mi Pregunta es la siguiente: Tengo un Proceso en una aplicación, k se ejecuta cuando se produce una entrada externa + ó - 8 veces por segundo (cuando hay mucha carga de trabajo), mi intención es parar ese proceso y despues reactivarlo sin k se pare el programa,..... me explico mejor.... Tengo un proceso se ejecuta y cuando llega a una determinada línea si se produce una serie de condiciones kiero k ese proceso se me pare, pero otro proceso k viene por detrás ejecutando el mismo codigo siga su procesamiento e incluso adelantar al anterior... Ejemplo: Procedure Tratamiento_Dato(.....); Begin ... Proceso 1 // por aki va el proceso 1 ... ... Proceso 2 //Estan ejecutando el msmo proceso ... End; yo lo k kiero es en un momento dado es parar (un retraso) el proceso 2 pero k el resto de procesos se sigan ejecutando.... Es un problema de concurrencia..... (Sincronismo).... Muchas Gracias por Vuestra Colaboración |
pregunta de examen
vamos a ver. si todos los procesos comparten una variable, entonces hablamos de problemas de concurrencia. hay que evitar que dos procesos modifiquen al mismo tiempo dicha variable. pero si no modifican, ninguna variable, sino que simplemente ejecutan uncodigo, esto es , no comparten ningun recurso, yo usaria semaforos, pero ten en cuenta que si paras un procceso con la orden Wait ( es de C++, no se si existe algo parecido en delplhi ), dicho proceso solo podra ser reactivado por otro proceso . el mismo nunca se puede reactivar. deberias crear un proceso padre, que controle las variables que ocasionan la detencion de los procesos hijos. dicho proceso es el encargado de detener y despertar a los procesos. espero haberte sido de ayuda.
|
Antes de eso... como no lo indicas explicitamente, pues tu programa debiera ser multihilos...
Si no lo es aún, podes ver un ejemplo en la carpeta $delphi\Demos\Threads, y leer en la ayuda sobre TThread. Hasta luego. ;) |
Hola Primeramente
Cita:
Código:
TMiHilo=class(TThread) Cita:
En todo caso seria mejor que revises la demo de Hilos que trae el delphi Suerte |
Continuando con el sincronismo...
Lo k realmente me haria falta es parar un proceso durante un tiempo determinado....
Me gustaría poder parar un proceso 1/2 segundo....., pero no el programa en ejecución (sleep lo he probado y para el programa entero y no kiero eso) Gracias a todos por vuestro interes.... |
si ya es multihilos... podes suspender el hilo, con lo que su ejecución queda pausada. Por supuesto debe haber otro hilo que luego haga un resume...
Hasta luego. ;) |
La franja horaria es GMT +2. Ahora son las 11:28:53. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi