Python 多线程不工作

Python 多线程不工作,python,multithreading,gpio,Python,Multithreading,Gpio,@KSFT 目前,我对无法破译stackoverflow上的格式或使一个简单的python脚本工作感到沮丧 这里怎么了 程序提示输入以确定驻留值,但不会导致led点亮 import threading import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(7, GPIO.OUT) frequency = 0.05 dwell = 0.01 def get_input(): while True:

@KSFT

目前,我对无法破译stackoverflow上的格式或使一个简单的python脚本工作感到沮丧

这里怎么了

程序提示输入以确定驻留值,但不会导致led点亮

import threading
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(7, GPIO.OUT)
frequency = 0.05
dwell = 0.01


def get_input():
    while True:
        dwell=raw_input("Brightness: ")

input_thread=threading.Thread(target=get_input())
input_thread.start()

while True:
    time.sleep(frequency)
        GPIO.output(7, 1)
        time.sleep(dwell)
        GPIO.output(7, 0)
这是错误的

input_thread=threading.Thread(target=get_input) 
是的

如果您想给arg以获取_输入,则需要给它throw args和kwargs

例如:

 1 #!/usr/bin/python
 2 #current's number of threads
 3 import threading
 4 import time
 5 
 6 def worker():
 7     print "test"
 8     time.sleep(1)
 9 
 10 for i in xrange(5):
 11     t = threading.Thread(target=worker)
 12     t.start()
 13 
 14 print "current has %d threads" % (threading.activeCount() - 1)
目标=工作者()。

目标=工人。

这是错误的

input_thread=threading.Thread(target=get_input) 
是的

如果您想给arg以获取_输入,则需要给它throw args和kwargs

例如:

 1 #!/usr/bin/python
 2 #current's number of threads
 3 import threading
 4 import time
 5 
 6 def worker():
 7     print "test"
 8     time.sleep(1)
 9 
 10 for i in xrange(5):
 11     t = threading.Thread(target=worker)
 12     t.start()
 13 
 14 print "current has %d threads" % (threading.activeCount() - 1)
目标=工作者()。

目标=工人。

这是错误的

input_thread=threading.Thread(target=get_input) 
是的

如果您想给arg以获取_输入,则需要给它throw args和kwargs

例如:

 1 #!/usr/bin/python
 2 #current's number of threads
 3 import threading
 4 import time
 5 
 6 def worker():
 7     print "test"
 8     time.sleep(1)
 9 
 10 for i in xrange(5):
 11     t = threading.Thread(target=worker)
 12     t.start()
 13 
 14 print "current has %d threads" % (threading.activeCount() - 1)
目标=工作者()。

目标=工人。

这是错误的

input_thread=threading.Thread(target=get_input) 
是的

如果您想给arg以获取_输入,则需要给它throw args和kwargs

例如:

 1 #!/usr/bin/python
 2 #current's number of threads
 3 import threading
 4 import time
 5 
 6 def worker():
 7     print "test"
 8     time.sleep(1)
 9 
 10 for i in xrange(5):
 11     t = threading.Thread(target=worker)
 12     t.start()
 13 
 14 print "current has %d threads" % (threading.activeCount() - 1)
目标=工作者()。

目标=工人。


那部分工作正常。正在发生的事情是,get_输入正在被调用并按预期循环,但是,控制灯光的while循环似乎不是executingtarget,它只需要一个对象,因此没有()。您可以使用我发布的代码为我提供一个示例吗?target是运行调用的可调用对象()method.默认为None,意味着不调用任何内容。@ByronHill啊,我看到错误只是你在复制我的答案时的一个输入错误。这部分工作正常。正在发生的事情是调用get_input并按预期循环,但是控制灯光的while循环似乎没有执行Target只需要一个对象,所以没有()。您可以使用我发布的代码为我提供一个示例吗?target是run()调用的可调用对象method.默认为None,意味着不调用任何内容。@ByronHill啊,我看到错误只是你在复制我的答案时的一个输入错误。这部分工作正常。正在发生的事情是调用get_input并按预期循环,但是控制灯光的while循环似乎没有执行Target只需要一个对象,所以没有()。您可以使用我发布的代码为我提供一个示例吗?target是run()调用的可调用对象method.默认为None,意味着不调用任何内容。@ByronHill啊,我看到错误只是你在复制我的答案时的一个输入错误。这部分工作正常。正在发生的事情是调用get_input并按预期循环,但是控制灯光的while循环似乎没有执行Target只需要一个对象,所以没有()。你能用我发布的代码给我一个例子吗?target是run()方法调用的可调用对象。默认值为None,意味着什么都不调用。@ByronHill啊,我知道错误只是你复制我的答案时的一个输入错误。