variable puede que se declara en el mismo cuerpo de un procedimiento en el que se pueden considerar como tareas compartidas para estas tareas?
-
22-09-2019 - |
Pregunta
variables se usa sólo en 1 de tareas, pero la pregunta es: ¿puede ser llamada compartida?
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