Squeak.ru - шаблоны программирования

многопоточность не работает

@КСФТ

в настоящее время разочарован моей неспособностью расшифровать форматирование в stackoverflow ИЛИ заставить работать простой скрипт 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)

target=worker().
target=worker()

target=worker.
target=worker

01.03.2015
  • эта часть работала. Происходит то, что get_input вызывается и зацикливается, как и следовало ожидать, однако цикл while, в котором происходит управление светом, похоже, не выполняется. 01.03.2015
  • target просто нужен объект, поэтому нет (). 01.03.2015
  • Можете ли вы предоставить мне пример, используя код, который я разместил? 01.03.2015
  • target — это вызываемый объект, который будет вызываться методом run(). По умолчанию установлено значение None, что означает, что ничего не вызывается.doc 01.03.2015
  • @ByronHill А, я вижу, ошибка была просто опечаткой, когда вы копировали мой ответ. 01.03.2015
  • Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...