Vous envisagez des applications mutithread ? Lisez d’abord ceci.
La plupart des programmeurs RPG n'auront jamais à utiliser des threads multiples. Et même ceux qui en perçoivent le besoin y renonceront, les jugeant trop complexes. À ce stade, vous vous attendez peut-être à ce que je dise : « Je ne veux pas vous effrayer ». C'est pourtant la vérité : je ne veux pas vous faire peur. Il est facile de coder des threads multiples, mais il est extrêmement difficile, voire impossible de bien les utiliser. Qui plus est, les threads multiples sont difficiles à tester parce qu'ils se comportent parfois un peu différemment à chaque exécution. Cela étant dit, nous allons explorer les nouveautés de la 6.1 pour la programmation multithread en RPG.
Donc, lisez ceci mais ne soyez pas trop impatients de mettre en pratique ces nouvelles techniques. Si vous décidez d'introduire le multithread dans vos applications, vous devez lire tout le contenu de la section Threads de l’Information Center, et lire tous les livres que vous trouverez sur la programmation multithread. Puis, … les relire.
Le mot thread (fil ou file) est la forme raccourcie de l’expression thread d’exécution. Un thread d’exécution est la suite d’instructions machine que le système exécute quand il conduit les programmes et les procédures de votre job. S’il y a deux threads d’exécution dans le même job, le système exécute deux séquences d’instructions machine simultanément. Les deux threads peuvent être en train d’exécuter différents programmes, différentes procédures dans le même module, la même procédure, voire la même instruction. Quand une application utilise plus d’un thread, c’est une application multithread.
RPG utilise des threads depuis la version 4.4, avec l’introduction de THREAD(*SERIALIZE). Le coding de ce mot-clé a sérialisé l’accès au module. Autrement dit, un seul thread à la fois pouvait s’exécuter dans le module. La 4.4 permettait aux programmes RPG de participer à une application multithread, mais souvent en ralentissant les performances de celle-ci.
À partir de la 6.1, RPG peut participer entièrement à une application multithread tout en bénéficiant des performances de l’exécution multithread. Le mot-clé READ(*CONCURRENT) permet à plusieurs threads de tourner dans un module en même temps. Cependant, THREAD(*CONCURRENT) ne remplace pas THREAD(*SERIALIZE). En fait, les deux modes ont leur utilité. (Pour en savoir plus, lire l’information sur les mots-clés associés aux threads dans le ILE RPG Reference.)
La suite de votre dossier RPG et Threads IBMi :
Threads multiples vs. jobs multiples
https://www.itpro.fr/threads-multiples-jobs-multiples/
Stockage statique
https://www.itpro.fr/stockage-statique/
Téléchargez cette ressource
Sécuriser votre système d’impression
Longtemps sous-estimée, la sécurisation d’un système d’impression d’entreprise doit être pleinement prise en compte afin de limiter le risque de fuite d’informations sensibles. Voici les 3 principales précautions à prendre.