当处理将在ZeroCloud上运行的小型ZeroVM应用程序时(即与Swift集成的ZeroVM),并试图导入多处理模块,我得到一个错误:
Traceback (most recent call last):
File "test.py", line 1, in <module>
import multiprocessing
File "/lib/python2.7/multiprocessing/__init__.py", line 65, in <module>
from multiprocessing.util import SUBDEBUG, SUBWARNING
File "/lib/python2.7/multiprocessing/util.py", line 38, in <module>
import threading # we want threading to install it's
File "/lib/python2.7/threading.py", line 6, in <module>
import thread
ImportError: No module named thread
为什么?
ZeroVM目前不支持线程或多进程。Python状态文档将这两个模块列为不支持的。
ZeroVM平台是一个单进程、单线程环境。但是,有一个pthreads端口可用。这个端口使用协作多任务,而不是普通的抢占式多线程。在ZeroVM Python端口中,可以使用它来启用某种形式的线程。