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

Répondre à