A variável pode ser declarada no mesmo órgão de procedimento, onde as tarefas são consideradas compartilhadas para essas tarefas?

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

Pergunta

A variável é usada apenas em 1 tarefa, mas a pergunta é: pode ser chamada de compartilhamento?

Foi útil?

Solução

Estou assumindo que você está falando sobre uma estrutura de código algo assim:

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;

Nesse caso, "alguma_variável" é global para ambas as tarefas, mas não compartilhado No sentido de ADA de estar adequadamente protegido para acesso consistente e simultâneo.

Mesmo que a variável global seja realmente referenciada por apenas uma das tarefas e, portanto, não há chance de ocorrer problemas iniciados por simultaneidade ao acessá-la, ela ainda não faz a variável compartilhado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top