在做畢業設計的過程中,想對多個感測器讓他們同時併發執行。之前想到
light_red()
light_blue()
分別在兩個shell指令碼中同時執行,但是這樣太麻煩了。後來學到了python多執行緒,讓程式併發執行。
下面具體介紹步驟:
兩個led燈,乙個藍燈,乙個紅燈
藍燈正極接13,負極接14
紅燈正極接12,負極接14
下面是**:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import rpi.gpio as gpio
import threading
import time
class led_blue(threading.thread): #繼承父類threading.thread
def __init__(self, threadid, name, counter):
threading.thread.__init__(self)
self.threadid = threadid
self.name = name
self.counter = counter
def run(self): #把要執行的**寫到run函式裡面 執行緒在建立後會直接執行run函式
print "starting " + self.name
led_blue_on()
print "exiting " + self.name
class led_red (threading.thread): #繼承父類threading.thread
def __init__(self, threadid, name, counter):
threading.thread.__init__(self)
self.threadid = threadid
self.name = name
self.counter = counter
def run(self): #把要執行的**寫到run函式裡面 執行緒在建立後會直接執行run函式
print "starting " + self.name
led_red_on()
print "exiting " + self.name
def led_blue_on():
pin_no=13
gpio.setmode(gpio.board)
gpio.setup(pin_no, gpio.out)
gpio.output(pin_no,gpio.high)
def led_red_on():
pin=12
gpio.setmode(gpio.board)
gpio.setup(pin, gpio.out)
gpio.output(pin,gpio.high)
# 建立新執行緒
thread1 = led_blue(1, "light_blue_on_on", 1)
thread2 = led_red(2, "light_red_on", 2)
# 開啟執行緒
thread1.start()
thread2.start()
print "exiting main thread"
time.sleep(20)
gpio.cleanup()
效果圖,畫素很渣:
python多執行緒併發讓兩個LED同時亮的方法
在做畢業設計的過程中,想對多個感測器讓他們同時併發執行。之前想到 light red light blue 分別在兩個shell指令碼中同時執行,但是這樣太麻煩了。後來學到了python多執行緒,讓程式併發執行。下面具體介紹步驟 兩個led燈,乙個藍燈,乙個紅燈 藍燈正極接13,負極接14 紅燈正極...
python多執行緒實現兩個向量相加
data1 1,2,3,4,5,6,7,8,9,0 向量1 data2 3,4,5,6,2,4,3,4,5,7 向量2 匯入包 import threading from queue import queue 每乙個執行緒都需要執行的函式,每一位的加法 def job i,j,q q.put i j...
Python多執行緒,併發
單執行緒程式只有乙個 手指 但多執行緒的程式有多個 手指 每個 手指 仍然移動到控制流語句定義的下一行 但這些 手指 可以在程式的不同地方,同時執行不同的 行 你可以使用 python 的threading 模組,在單獨的執行緒中執行延遲或安排的 這個單獨的執行緒將因為 time.sleep 呼叫而...