#Fichier thread_3.py
import _thread
import time

print("début du programme")

#Enregistrement des messages des processus dans une variable globale
message = ""

def processus_1():
    i=0
    while i <3:
        global message
        message += str(_thread.get_ident()) + " : " + "11111111" + "\r\n"
        time.sleep(0.5)
        i += 1
    global nb_thread_fini
    nb_thread_fini += 1

def processus_2():
    i=0
    while i <3:
        global message
        message += str(_thread.get_ident()) + " : " + "22222222" + "\r\n"
        time.sleep(0.5)
        i += 1
    global nb_thread_fini
    nb_thread_fini += 1

def processus_3():
    i=0
    while i <3:
        global message
        message += str(_thread.get_ident()) + " : " + "33333333" + "\r\n"
        time.sleep(0.5)
        i += 1
    global nb_thread_fini
    nb_thread_fini += 1
    
def processus_4():
    i=0
    while i <3:
        global message
        message += str(_thread.get_ident()) + " : " + "44444444" + "\r\n"
        time.sleep(0.5)
        i += 1
    global nb_thread_fini
    nb_thread_fini += 1

#Nombre de thread prévu
nb_thread = 4
#Nombre de thread après réalisation
nb_thread_fini = 0

#Création de quatre instances thread
for th in [processus_1, processus_2, processus_3, processus_4]:
    _thread.start_new_thread(th, ())

#Boucle d'attente de fin d'exécution des thread
while nb_thread_fini < nb_thread:
    pass
print(message)
print("Fin du programme")




