haas506 2.0开发教程 - _thread - 多线程

  • 开启关闭线程
  • (1)案例说明
  • (2)案例代码
  • (3)输出log
  • class - _thread
  • get_ident - 获取当前线程ID
  • stack_size - 设置创建新线程时所使用的栈大小
  • start_new_thread - 创建一个新线程
  • exit - 结束线程
  • allocate_lock - 创建一个互斥锁对象


开启关闭线程

(1)案例说明

  • _thread 模块提供创建新线程的方法,并提供互斥锁。
  • 案例演示如何创建并关闭线程

(2)案例代码

import utime as time
import _thread

def th():
  for i in range (5):
      print('---  new_thread  ---')
      time.sleep_ms(1000)
  #循环结束
  print('_thread.exit')
  _thread.exit()
  

if __name__ == '__main__':
  _thread.start_new_thread(th, ())  #开启gps线程
  while True:
    print('===  main  ===')
    time.sleep_ms(1000)

(3)输出log

  • 线程开启5秒后关闭

class - _thread

class - _thread

get_ident

stack_size

start_new_thread

exit

allocate_lock

获取当前线程ID

设置创建新线程时所使用的栈大小

创建一个新线程

结束线程

创建一个互斥锁对象

get_ident - 获取当前线程ID

函数原型:

  • _thread.get_ident()

返回值:

  • 获取当前线程号。

stack_size - 设置创建新线程时所使用的栈大小

函数原型:

  • _thread.stack_size(size)

参数说明:

参数

类型

必选参数?

说明

size

int


创建新线程使用的栈大小(以字节为单位),默认为8448字节,最小8192字节。

start_new_thread - 创建一个新线程

函数原型:

  • _thread.start_new_thread(function, args)

参数说明:

参数

类型

必选参数?

说明

function

函数指针


新线程的入口函数

args

元组


传入新线程的入口函数的参数列表

返回值:

  • 返回线程的id。

exit - 结束线程

函数原型:

  • _thread.exit ()

allocate_lock - 创建一个互斥锁对象

函数原型:

  • _thread.allocate_lock()

返回值:

  • 返回互斥锁对象