Python多线程编程简单介绍

创建线程

格式如下

复制代码 代码如下:
threading.Thread(group=None, target=None, name=None, args=(), kwargs={})

这个构造器必须用关键字传参调用
– group 线程组
– target 执行方法
– name 线程名字
– args target执行的元组参数
– kwargs target执行的字典参数

Thread对象函数

函数 描述
start() 开始线程的执行
run() 定义线程的功能的函数(一般会被子类重写)
join(timeout=None) 程序挂起,直到线程结束;如果给了 timeout,则最多阻塞 timeout 秒
getName() 返回线程的名字
setName(name) 设置线程的名字
isAlive() 布尔标志,表示这个线程是否还在运行中
isDaemon() 返回线程的 daemon 标志
setDaemon(daemonic) 把线程的 daemon 标志设为 daemonic(一定要在调用 start()函数前调用)

常用示例

格式

复制代码 代码如下:
import threading

def run(*arg, **karg):
    pass
thread = threading.Thread(target = run, name = “default”, args = (), kwargs = {})
thread.start()

实例
复制代码 代码如下:
#!/usr/bin/python
#coding=utf-8

import threading
from time import ctime,sleep

def sing(*arg):
    print “sing start: “, arg
    sleep(1)
    print “sing stop”

def dance(*arg):
    print “dance start: “, arg
    sleep(1)
    print “dance stop”

threads = []

#创建线程对象
t1 = threading.Thread(target = sing, name = ‘singThread’, args = (‘raise me up’,))
threads.append(t1)

t2 = threading.Thread(target = dance, name = ‘danceThread’, args = (‘Rup’,))
threads.append(t2)

#开始线程
t1.start()
t2.start()

#等待线程结束
for t in threads:
    t.join()

print “game over”

输出
复制代码 代码如下:
sing start:  (‘raise me up’,)
dance start:  (‘Rup’,)
sing stop
dance stop
game over

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2294512.html

(0)
上一篇 2025年2月28日 02:41:28
下一篇 2025年2月25日 07:04:10

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 简单的Python的curses库使用教程

    curses 库 ( ncurses ) 提供了控制字符屏幕的独立于终端的方法。curses 是大多数类似于 UNIX 的系统(包括 Linux)的标准部分,而且它已经移植到 Windows 和其它系统。curses 程序将在纯文本系统上、…

    2025年2月28日
    200
  • Python中的面向对象编程详解(下)

    继承 继承描述了基类的属性如何“遗传”给派生类。一个子类可以继承它的基类的任何属性,不管是数据属性还是方法。 创建子类的语法看起来与普通(新式)类没有区别,一个类名,后跟一个或多个需要从其中派生的父类: 复制代码 代码如下:class Su…

    编程技术 2025年2月28日
    200
  • 简单介绍利用TK在Python下进行GUI编程的教程

    我想要向您介绍能想像到的开始 gui 编程的最简单方法,就是使用 scriptics 的 tk 和 tkinter 封装器。我们将与 developerworks 中的 “python 中的 curses 编程” 提到的 curses 库进…

    2025年2月28日
    200
  • Python配置文件解析模块ConfigParser使用实例

    一、configparser简介 ConfigParser 是用来读取配置文件的包。配置文件的格式如下:中括号“[ ]”内包含的为section。section 下面为类似于key-value 的配置内容。 复制代码 代码如下: [db] …

    编程技术 2025年2月28日
    200
  • 状态机的概念和在Python下使用状态机的教程

    什么是状态机? 关于状态机的一个极度确切的描述是它是一个有向图形,由一组节点和一组相应的转移函数组成。状态机通过响应一系列事件而“运行”。每个事件都在属于“当前”节点的转移函数的控制范围内,其中函数的范围是节点的一个子集。函数返回“下一个”…

    编程技术 2025年2月28日
    200
  • 深入Python函数编程的一些特性

    绑定 细心的读者可能记得我在 第 1 部分的函数技术中指出的限制。特别在 Python 中不能避免表示函数表达式的名称的重新绑定。在 FP 中,名称通常被理解为较长表达式的缩写,但这一说法暗示着“同一表达式总是求出相同的值”。如果标记的名称…

    编程技术 2025年2月28日
    200
  • 进一步理解Python中的函数编程

    我们最好从最难的问题开始:“到底什么是函数编程 (fp)?”一个答案可能会说 fp 就是您在使用例如 lisp、scheme、haskell、ml、ocaml、clean、mercury、erlang(或其它一些)语言进行编程时所做的。这是…

    编程技术 2025年2月28日
    200
  • 详解Python中DOM方法的动态性

    文档对象模型 xml.dom 模块对于 Python 程序员来说,可能是使用 XML 文档时功能最强大的工具。不幸的是,XML-SIG 提供的文档目前来说还比较少。W3C 语言无关的 DOM 规范填补了这方面的部分空白。但 Python 程…

    2025年2月28日
    200
  • Python中的多重装饰器

    多重装饰器,即多个装饰器修饰同一个对象【实际上并非完全如此,且看下文详解】 1.装饰器无参数: 复制代码 代码如下:>>> def first(func):    print ‘%s() was post to…

    编程技术 2025年2月28日
    200
  • Python中的进程分支fork和exec详解

    在python中,任务并发一种方式是通过进程分支来实现的.在linux系统在,通过fork()方法来实现进程分支. 1.fork()调用后会创建一个新的子进程,这个子进程是原父进程的副本.子进程可以独立父进程外运行.2.fork()是一个很…

    编程技术 2025年2月28日
    200

发表回复

登录后才能评论