Pregunta

Nunca he programado en Python antes, así que disculpen mi código. Tengo este script que se ejecutará en un terminal, pero no puedo conseguir que se ejecute en el cliente. Estoy funcionando esto en aplicación Titanium Appcelerator. De todos modos, he estado Solución de problemas y parece que no se está ejecutando los hilos en absoluto. ¿Es esta una limitación? ¿alguien sabe?

<script type="text/python">
import os
import sys
import Queue
import threading
class FindThread ( threading.Thread ):
   def run ( self ):
      running = True
      while running:
         if jobPool.empty(): 
            #print '<< CLOSING THREAD'
            running = False
            continue

         job = jobPool.get()
         window.document.getElementById('output').innerHTML +=  os.path.join(top, name)
         if job != None:
            dirSearch(job)             

jobPool = Queue.Queue ( 0 )

def findPython():
    #output = window.document.getElementById('output')
    window.document.getElementById('output').innerHTML += "Starting"
    dirSearch("/")
    # Start 10 threads:
    for x in xrange ( 10 ):
        #print '>> OPENING THREAD'
        FindThread().start()

def dirSearch(top = "."):
    import os, stat, types
    names = os.listdir(top)
    for name in names:
        try:
            st = os.lstat(os.path.join(top, name))
        except os.error:
            continue
        if stat.S_ISDIR(st.st_mode):
            jobPool.put( os.path.join(top, name) )
        else:
            window.document.getElementById('output').innerHTML +=  os.path.join(top, name)

window.findPython = findPython

</script>
¿Fue útil?

Solución

La respuesta, en la actualidad (Viernes, décimo nono junio de 2009) es sí, puede ejecutar subprocesos, pero la otra cosa que el hilo principal se puede acceder a los objetos de JavaScript, esto incluye el DOM. por lo que si usted está planeando sobre la actualización de la interfaz de usuario con una aplicación de roscar, esto no es posible ... todavía. Hasta que el equipo de Appcelerator crea una especie de cola para el hilo principal, es posible a través de un sistema de unión.

Por favor, véase la discusión en los foros Appcelerator .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top