Skip to content
Snippets Groups Projects
Commit b0381eae authored by shined day's avatar shined day
Browse files

Merge branch 'enhance_threading' into 'master'

Enhance threading

See merge request be-pyamak/pyamak-ihm!3
parents b73c8f8a 160594e9
Branches
No related tags found
No related merge requests found
......@@ -18,13 +18,16 @@ class Controleur:
def __init__(
self,
fenetre : 'Fenetre',
amas : 'Amas'
scheduler : 'SchedulerIHM'
) -> None :
self.__th = None
self.__fenetre = fenetre
self.__fenetre.attach(self)
self.__amas = amas
self.__amas.attach(self)
self.__scheduler = scheduler
self.__scheduler.attach(self)
self.__amas = scheduler.get_amas()
self.__is_run = False
def get_fenetre(self) -> 'Fenetre':
......@@ -33,6 +36,9 @@ class Controleur:
def get_amas(self) -> 'Amas':
return self.__amas
def get_scheduler(self) -> 'SchedulerIHM':
return self.__scheduler
"""
Draw a rectangle with x,y coords, height, width and color
"""
......@@ -215,26 +221,26 @@ class Controleur:
Set the execution speed of amas
"""
def updateScale(self, value : int) -> None:
self.__amas.set_sleep(int(value))
self.__scheduler.set_sleep(int(value))
"""
Start or Stop the execution depending on the current state
"""
def updateStartStop(self) -> None:
if(self.__is_run):
if self.__is_run:
self.__is_run = False
self.__amas.take_token()
self.__scheduler.stop()
else:
self.__is_run = True
self.__amas.put_token()
self.__scheduler.start()
def updateCycle(self,env,amas) -> None:
def updateCycle(self) -> None:
try:
self.updateWindow(env,amas)
self.updateWindow()
except:
return
def updateWindow(env,amas):
def updateWindow(self):
pass
def initialisation(self) -> None:
......@@ -245,9 +251,9 @@ class Controleur:
"""
def start(self) -> None:
self.initialisation()
self.__th = Thread(target=self.__amas.start)
self.__th = Thread(target=self.__scheduler.run)
self.__th.start()
self.__fenetre.display()
def updateClosing(self):
self.__amas.exit_program()
self.__scheduler.exit_program()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment