Micropython学习交流群 学习QQ群:786510434 提供多种固件下载和学习交流。

Micropython-扇贝物联 QQ群:31324057 扇贝物联是一个让你与智能设备沟通更方便的物联网云平台

Micropython学习交流群 学习QQ群:468985481 学习交流ESP8266、ESP32、ESP8285、wifi模块开发交流、物联网。

Micropython老哥俩的IT农场分享QQ群:929132891 为喜欢科创制作的小白们分享一些自制的计算机软硬件免费公益课程,由两位多年从事IT研发的中年大叔发起。

Micropython ESP频道

micropython _thread -多线程用法


import _thread

import utime

import urandom


gLock = None


# 线程1处理函数

def th(name):


    while True:

        # 休眠随机时间

        utime.sleep(urandom.random())


        # 等待获取互斥锁

        gLock.acquire()


        # 打印当前系统时间

        print(name, "lock acquired at ", utime.ticks_ms())


        # 休眠随机时间

        utime.sleep(urandom.random())


        # 释放互斥锁

        gLock.release()


if __name__ == '__main__':

    #创建互斥锁

    gLock = _thread.allocate_lock()


    # 获得互斥锁

    gLock.acquire()


    # 创建线程1

    _thread.start_new_thread(th, ["th1"])

    # 创建线程2

    _thread.start_new_thread(th, ["th2"])

    # 休眠1秒

    utime.sleep(1)


    # 释放互斥锁

    gLock.release()

    

    while True:

        utime.sleep(1)



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 ESP56.com All Rights Reserved

执行时间: 0.0087320804595947 seconds