文档详情

Python多线程与锁.pdf

发布:2017-09-25约字共20页下载文档
文本预览下载声明
Python 多线与锁 Edit by Void 2015/08/30 一.python 的线程 python 的线程分两个模块,thread、threading,本文python 版本为 Python 2.7.9。 1. thread 在python 3.x 已经改名为_thread,作为开发者,建议用更高级的模块 threading。 核心模块thread 是多线程的最基本模块,提供了低级别的、原始的线 程,同时也有互斥锁(mutexes)和二态信号量(binary semaphores), threading 模块是基于此模块封装的更高级模块。 这个模块支持windows,Linux,SGI IRIX,Solaries 2.x,等有POSIX 线程的系统。 其定义的接口如下: 接口名称 接口作用 thread.ERROR 异常,抛出一个线程的错误 thread.LockType 线程同步锁的类型 thread.start_new_thread(function, 开始一个新的线程,并返回该线程的标 args[, kwargs]) 识符(线程号),这个线程执行函数 function,其中参数为args (tuple 类 型),可选参数kwargs 是指定字典类型 参数。 当函数function 返回时,这个线程还是 后台存在。 当函数function 出现一个未捕获的异常 时,会打印堆栈跟踪错误,然后线程终 止,但不影响其他线程。 errupt_main() 在主线程抛出一个keyboardinterrupt, 子线程可以用这个函数去中断主线程。 thread.exit() 抛出一个Systemexit 异常,如果没有补 获,线程静态终止。 thread.allocate_lock() 返回一个新的锁对象,这个所默认为 unlocked。 thread.get_ident() 返回当前线程的一个线程标识符,其值 为无直接含义的正整数,用来在线程表 数据字典来查询,线程标识符会在线程 终止时,其他线程创建时回收。 thread.stack_size([size]) 返回创建线程时线程栈的大小,可选项 size 可以指定创建的线程的栈的大小,其 值必须[0,32768],但不支持线程栈大小 的修改。 lock.release() 释放
显示全部
相似文档