Многопоточность не работает
@KSFT
в настоящее время разочарован моей неспособностью либо расшифровать форматирование в stackru, либо заставить работать простой скрипт на Python...
что здесь не так?
программа запрашивает ввод для определения значения задержки, но это не приводит к включению светодиода.
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)
1 ответ
input_thread=threading.Thread(target=get_input())
неправильно!
input_thread=threading.Thread(target=get_input)
правильно!
class threading.Thread(group=None, target=None, name=None, args=(), kwargs={})
Если вы хотите дать arg для get_input, вам нужно дать ему 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)
целевой = рабочий ().
целевой = рабочие.