> Tech > RPG et les threads

RPG et les threads

Tech - Par Barbara Morris - Publié le 08 juin 2011
email

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.

RPG et les threads

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

Guide de technologie 5G pour l’entreprise

Guide de technologie 5G pour l’entreprise

Pourquoi la 5G est-elle faite pour votre entreprise ? La 5G peut améliorer la vitesse, la fiabilité et la capacité de votre réseau, permettant ainsi une meilleure collaboration, une productivité accrue et une prise de décision plus rapide. Notre livre blanc " The Big Book of Enterprise 5G" vous fournit les informations stratégiques dont vous avez besoin pour prendre des décisions éclairées et préparer votre entreprise à prospérer dans l'ère de la 5G. Cradlepoint, part of Ericsson est le leader mondial des solutions de réseau sans fil 4G LTE et 5G fournies via le cloud. Connectez vos employés, lieux et objets avec la 4G LTE et la 5G pour un WAN sans fil d'entreprise.

Tech - Par Barbara Morris - Publié le 08 juin 2011