H iiiii:)
Qu 'est ce que j'ai a voir avec ça moi :)
vous avez deformez mes propos je n'ai pas de problèmes pour travailler
avec qui que ce soit ,
Pour Me faire pardonner cependant j'ai écrit un programme qu j'ai appelé
[balance] :)
j'aime bien ce nom :). L'idee est de faire travailler trois machines
ensembles
sans qu'ils ne s'entretuent pas .La machine1 prends des sacs en entrée ,
ensuite elle
dépose les sacs un seau1 , et la machine 2 les prends dans le seau1 et les
dépose dans le seau2 .Ensuite la machine 3 vient les prendre du seau3 et
les dépose
dans le seau3. un vrai travail d’équipe :)
https://github.com/aliounedia/balance/blob/master/balance.py
# python balance.py
import Queue
import thread , time
from threading import RLock
import threading
class Humain3:
def __init__(self , manager):
self.manager =manager
def run(self):
while self.manager.run:
with self.manager.verrou:
try:
sac =self.manager.seau2.get(block =False)
except Queue.Empty:
# le seau est vide
print 'seau2 vide'
pass
else:
print(''' la machine 3 prend
le sac depose par la machine2
dans le sceau2
''')
print 'sac =',sac
try:
self.manager.seau3.put(sac)
except Queue.Full:
# le seau est plein
pass
# nous attendons encore 10 secondes
# pour voir encore si la machine 2
# a fait un depot dans l seau2
self.manager._wait(10)
print('''
Humain3 a fini son travail
''')
class Humain2:
def __init__(self, manager):
self.manager =manager
def run(self):
while self.manager.run:
with self.manager.verrou:
try:
sac = self.manager.seau1.get(block =False)
except Queue.Empty:
# le seau est vide
print 'seau1 vide'
else:
# Nous avons un sac on le depose
# dans le seau2 pour que la machine
# 2 puisse le prenre :)
print(''' la machine 2 prend
le sac depose par la machine1
dans le sceau1
''')
print 'sac =',sac
try:
self.manager.seau2.put(sac)
except Queue.Full:
# Le seau2 est plein ce
# n'est pas grave , on repasse
pass
# nous attendons encore 10 secondes
# pour voir encore si la machine 1
# a fait un depot
self.manager._wait(10)
print('''
Humain2 a fini son travail
''')
class Humain1:
# La machine une se charge de prendre le sacs en entre
# et la depose dans le sceau1 pour la machine 2
def _wait(self, timee):
time.sleep(timee)
def __init__(self):
self.seau1 = Queue.Queue()
self.seau2 = Queue.Queue()
self.seau3 = Queue.Queue()
self.verrou= RLock()
self.run = True
#thread.start_new_thread(Humain3(manager =self))
def loop(self):
t2 = threading.Thread(target =\
Humain2(manager =self).run, name ="t2",
args=())
t2.daemon = True
t2.start()
t3 = threading.Thread(target =\
Humain3(manager =self).run, name ="t3",
args=())
t3.daemon = True
t3.start()
print('''
Humain1 commence son travail
''')
while True:
with self.verrou:
try:
sac =raw_input('un sac :')
if sac =='o':
self.run =False
self._wait(10)
break
self.seau1.put(sac)
except KeyboardInterrupt, e:
self.run =False
# Attends 10 senconde le temps que tous
# les humains finissent leu job
self._wait(10)
print('''
Humain1 a fini son travail
''')
# Le travail de tout le monde est a present
# termine on affiche pour voir si l humain 3
# a fin son travail et que toute la chaine
# a bien fait le taff
print ('''contenu du sac 3 de
l humain3 ''')
while True:
try:
print self.seau3.get(block =False)
except Queue.Empty:
break
if __name__ =="__main__":
Humain1().loop()
--Ad
Le 18 décembre 2012 14:38, pape <[email protected]> a écrit :
> Sublime. Ca rappelle le topic de Alioune " [DakarLUG] Fwd: [DjANGO
> Problème de Travailler avec les Intégrateur Pour un Développeur] "
> 2012/12/18 Lamine Ba <[email protected]>
>
>>
>> http://www.youtube.com/watch?v=vZiEt5RUYSk
>>
>>
>> --
>> Lamine Ba
>> Java User Group Leader
>> Co-founder & Coordinator of SeneJUG (www.senejug.com)
>> Member of JUG-Africa (java.net/projects/jug-africa)
>>
>> Skype: tlamine88
>> Tweeter: tlamineba
>> Linkedin: www.lamineba.com
>>
>>
>>
>>
>> --
>> Lamine Ba
>> Java User Group Leader
>> Co-founder & Coordinator of SeneJUG (www.senejug.com)
>> Member of JUG-Africa (java.net/projects/jug-africa)
>>
>> Skype: tlamine88
>> Tweeter: tlamineba
>> Linkedin: www.lamineba.com
>>
>>
>>
>> --
>> Ce message a été envoyé à la liste [email protected]
>> Gestion de votre abonnement : http://dakarlug.org/liste
>> Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug
>> Le site du DakarLUG : http://dakarlug.org
>>
>
>
>
> --
> ***************************
> Onix Corps.
>
> +221-77-411-06-29
> * BP: 2115*
> Dakar/Senegal
> ***************************
>
>
> --
> Ce message a été envoyé à la liste [email protected]
> Gestion de votre abonnement : http://dakarlug.org/liste
> Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug
> Le site du DakarLUG : http://dakarlug.org
>
--
Ce message a été envoyé à la liste [email protected]
Gestion de votre abonnement : http://dakarlug.org/liste
Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug
Le site du DakarLUG : http://dakarlug.org