variable puede que se declara en el mismo cuerpo de un procedimiento en el que se pueden considerar como tareas compartidas para estas tareas?

StackOverflow https://stackoverflow.com/questions/1588243

Pregunta

variables se usa sólo en 1 de tareas, pero la pregunta es: ¿puede ser llamada compartida?

¿Fue útil?

Solución

Te estoy suponiendo que estamos hablando de una estructura de código algo como esto:

procedure A_Procedure_Body is  

   task T1 is
      entry T1_E1;
   end T1;  

   task T2 is
      entry T2_E1;
   end T2;  

   Some_Variable : Integer;  

   task body T1 is
      T1_Local : Integer;
   begin
      T1_Local := Some_Variable;
       ...
   end T1;  

   task body T2 is
      T2_Local : Integer := 42;
   begin
      Some_Variable := T2_Local;
      ...
   end T2;  

begin
   null;
end A_Procedure_Body;

En este caso "Some_Variable" es Global para ambas tareas, pero no compartida en el sentido Ada de ser protegidos adecuadamente para un acceso constante, concurrente.

Incluso si la variable global es en realidad hace referencia por una sola de las tareas, y por lo tanto no hay ninguna posibilidad de cualquier problema de concurrencia iniciados que se producen mientras se accede a ella, todavía no hace que la variable compartida .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top