Herramientas de usuario

Herramientas del sitio


otros:algoritmos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
otros:algoritmos [2013/03/09 13:03]
alfred [Productor - consumidor]
otros:algoritmos [2020/05/09 09:25] (actual)
Línea 109: Línea 109:
 import threading import threading
 import Queue import Queue
- 
  
 class Producer(threading.Thread):​ class Producer(threading.Thread):​
Línea 120: Línea 119:
         while True:         while True:
             item = self.in_queue.get()             item = self.in_queue.get()
- 
             result = 'You should be doing work.'             result = 'You should be doing work.'
             self.out_queue.put(result)             self.out_queue.put(result)
- 
             self.in_queue.task_done()             self.in_queue.task_done()
  
Línea 134: Línea 131:
         while True:         while True:
             item = self.out_queue.get()             item = self.out_queue.get()
- 
             result = 'This is your awesome output.'​             result = 'This is your awesome output.'​
- 
             self.out_queue.task_done()             self.out_queue.task_done()
  
 if __name__ == '​__main__':​ if __name__ == '​__main__':​
- 
     item_list = ['​item1',​ '​item2',​ '​item3'​]     item_list = ['​item1',​ '​item2',​ '​item3'​]
     in_queue = Queue.Queue()     in_queue = Queue.Queue()
     out_queue = Queue.Queue()     out_queue = Queue.Queue()
- 
     for i in xrange(len(item_list)):​     for i in xrange(len(item_list)):​
        t = Producer(in_queue,​ out_queue)        t = Producer(in_queue,​ out_queue)
        ​t.daemon = True        ​t.daemon = True
        ​t.start()        ​t.start()
- 
     for item in item_list:     for item in item_list:
         in_queue.put(item)         in_queue.put(item)
- 
- 
     for i in xrange(len(item_list)):​     for i in xrange(len(item_list)):​
         t = Consumer(out_queue)         t = Consumer(out_queue)
         t.daemon = True         t.daemon = True
         t.start()         t.start()
- 
     in_queue.join()     in_queue.join()
     out_queue.join()     out_queue.join()
Línea 201: Línea 190:
 </​code>​ </​code>​
  
 +==== Potencia de 10 ==== 
 +<​code>​ 
 +i = 1; 
 +while((i * 10) < x) 
 +    i *= 10; 
 +</​code>​
 ==== Movimiento por array circular ==== ==== Movimiento por array circular ====
   * C   * C
otros/algoritmos.1362834200.txt.gz · Última modificación: 2020/05/09 09:25 (editor externo)