Puede pitón lado del cliente utilice hilos?
-
13-09-2019 - |
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>
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 .