Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- setlocal enabledelayedexpansion
- rem on initialise le multi-threading
- if not "%~1"=="" goto %1
- set Thread=call :Thread
- set ThreadCaller="%~f0"
- rem on ajoute un thread (mais on l'exécute pas)
- %Thread%.New mon_premier_Thread
- %Thread%.New mon_deuxieme_Thread
- rem on exécute tout les threads
- %Thread%.StartAll
- pause>nul&exit
- :mon_premier_Thread
- rem Initialisation du thread, cette partie est exécutée une seule fois au lancement du thread
- rem on peut donc initialiser nos variables ici
- set n=0
- rem Cette partie tournera en boucle, on est pas obligé de la mettre,
- rem cela dépend de ce que vous voulez faire ;)
- for /l %%i in () do (
- rem Votre CODE ICI
- rem exemple de code, ici on affiche les nombres paires
- set /a n+=2
- echo;!n!
- )
- pause>nul&exit
- :mon_deuxieme_Thread
- rem Initialisation du thread, cette partie est exécutée une seule fois au lancement du thread
- rem on peut donc initialiser nos variables ici
- set n=1
- rem Cette partie tournera en boucle, on est pas obligé de la mettre,
- rem cela dépend de ce que vous voulez faire ;)
- for /l %%i in () do (
- rem Votre CODE ICI
- rem exemple de code, ici on affiche les nombres impaires
- set /a n+=2
- echo;!n!
- )
- pause>nul&exit
- :Thread.New
- set ThreadStack=!ThreadStack! "%~1"
- Exit /b
- :Thread.N
- for /l %%i in () do rem
- Exit /b
- :Thread.StartAll
- set ThreadExec=
- set ThreadNb=0
- for %%i in (!ThreadStack!) do (
- set "ThreadExec=!ThreadExec! __AND__ !ThreadCaller! %%~i __OUT__ CON"
- set /a ThreadNb+=1
- )
- set ThreadExec=!ThreadExec:~9!
- if "!ThreadNb!"=="1" set ThreadExec=!ThreadExec! __AND__ !ThreadCaller! Thread.N __OUT__ CON
- set ThreadExec=!ThreadExec:__AND__=^|!
- set ThreadExec=!ThreadExec:__OUT__=^>!
- pushd %temp%
- %ThreadExec%
- popd
- Exit /b
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement