首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

今天来学习一下python的多线程

今天是学习python的第十五天,由于昨天晚上居然停电了,没有办法做实验,所以没有成文章。今天测试了驾驶模式,但有问题,无法正常工作。而且还发现了一个问题,由于电机声音好大,语音唤醒小车和识别有非常的不准了。

由于驾驶模式,是将小车的语音模式下切换到独占的驾驶模式,进入驾驶模式之后,不再处理其它语音指令,只能是小车有关的。 这里面要用到多线程相关的知识。

先从简单的线程开始吧。

什么是线程,什么是多线程,线程之间怎么通信,同步这个是必须理解的。

按我自己的理解,这儿以小车为例,小车的动力系统,需要一个线程来处理

而叮当是一个主线程,动力系统是一个子线程。当小车听到“启动”时,激活进入驾驶模式,所以这个系统是一个多线程的。 主线程怎么与子线程通信呢?

这是我还要学习的,由于对整个系统还处理一知半解的状态,所以写出来的程序,没有达到理想的状态。

最后看看我写的一个小例子

# -*- coding: utf-8-*-

import threading

import time

class Xiaoche(threading.Thread):

def __init__(self, param):

super(Xiaoche,self).__init__()

self.event=threading.Event()

self.is_pause =False

self.is_stop = False

def run(self):

while True and not self.is_stop:

if self.is_pause== True:

self.setSpeed(0)

else :

self.setSpeed(100)

def setSpeed(self,speed):

print "设置速度",speed

time.sleep(1)

def forward(self):

print "前进"

def pause(self):

try:

print "停车"

self.is_pause =False

except:

pass

def exit(self):

print "退出"

self.is_stop=True

self.pause()

def resume(self):

self.is_pause = False

def test():

while True:

xiaoche=Xiaoche("haha")

xiaoche.start()

xiaoche.forward()

time.sleep(5)

xiaoche.exit()

if xiaoche.is_stop == True:

print "exit"

return

test()

print "退出驾试模式"

最后的运行结果是这样子的.

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180128G0OEWG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券