variable peut qui est déclaré dans le même corps de procédure où sont être considérées comme des tâches partagées pour ces tâches?

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

Question

variable est utilisée dans une seule tâche, mais la question est: peut-il être partagé APPELÉ?

Était-ce utile?

La solution

Je suppose que vous parlez d'une structure de code quelque chose comme ceci:

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;

Dans ce cas, "une_variable" est global pour les deux tâches, mais pas partagé dans le sens Ada d'être correctement protégé pour un accès constant, en même temps.

Même si la variable globale est en fait référencé par une seule des tâches, et donc il n'y a aucune chance de problème initié accès concurrentiel se produisant lors de l'accès, il ne fait toujours pas la variable partagé .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top