DS2 - Exemple de programme de thread simple

Le programme suivant montre comment un thread crée des données et transmet des variables au programme de données :
proc ds2;
     thread monThread /overwrite=yes;
          dcl double x;
          method init();
               do i=1 to 3;
                    x=i;
                    output;
               end;
          end;
     endthread;

     data monDataset;
          dcl thread monThread t_instance;
          method run();
               set from t_instance threads=3;
          end;
     enddata;

run;
quit;
Ce qui donne dans la log : sas-ds2-exemple-thread   La table monThread dans la work : sas-ds2-exemple-thread-work-programme-thread La table monDataset : sas-ds2-exemple-thread-mon-dataset   Notes :
  • L'option de table OVERWRITE = YES permet d'écraser le programme de thread. .
  • Le programme de données spécifie 3 threads (set from t_instance threads=3;) , le programme de thread s'exécute dans 3 threads distincts dans un processus unique.
  • Ce programme de thread produit un ensemble de variables de sortie par thread. Dans le thread nous avons une boucle qui crée 3 variables. Comme le montre la copie d'écran, nous avons 9 variables dans le dataset monDataset
Source : A Simple Thread Program  

Nicolas Housset

Passionné d'informatique, je suis Consultant et expert technique SAS VIYA, également co-fondateur de la société Flexcelite. Spécialisé dans les technologies SAS (Viya, 9.4) et les infrastructures associées (Linux, Hadoop, Azure), ce blog est mon espace pour partager mes mémos techniques et retours d'expérience.