threading 模块

(可选) ``threading`` 模块为线程提供了一个高级接口, 如 [Example 3-1 #eg-3-1] 所示.

它源自 Java 的线程实现. 和低级的 ``thread`` 模块相同, 只有你在编译解释器时打开了线程支持才可以使用它 .

你只需要继承 //Thread// 类, 定义好 ``run`` 方法, 就可以创建一 个新的线程.

使用时首先创建该类的一个或多个实例, 然后调用 ``start`` 方法. 这样每个实例的

``run`` 方法都会运行在它自的线程里.

====Example 3-1. 使用 threading 模块====[eg-3-1]

```

File: threading-example-1.py

import threading

import time, random

class Counter:

def _ _init_ _(self):

self.lock = threading.Lock()

self.value = 0

def increment(self):

self.lock.acquire() # critical section

self.value = value = self.value + 1

self.lock.release()

return value

counter = Counter()

class Worker(threading.Thread):

def run(self):

for i in range(10):

# pretend we're doing something that takes 10?00 ms

value = counter.increment() # increment global counter

time.sleep(random.randint(10, 100) / 1000.0)

print self.getName(), "-- task", i, "finished", value

#

# try it

for i in range(10):

Worker().start() # start a worker

*B*Thread-1 -- task 0 finished 1

Thread-3 -- task 0 finished 3

Thread-7 -- task 0 finished 8

Thread-1 -- task 1 finished 7

Thread-4 -- task 0 Thread-5 -- task 0 finished 4

finished 5

Thread-8 -- task 0 Thread-6 -- task 0 finished 9

finished 6

...

Thread-6 -- task 9 finished 98

Thread-4 -- task 9 finished 99

Thread-9 -- task 9 finished 100*b*

```

[Example 3-1 #eg-3-1] 使用了 //Lock// 对象来在全局 //Counter// 对象里创建临界区

(critical section). 如果删除了 ``acquire`` 和 ``release`` 语句, 那么 ``Counter`` 很可能不会到达 100.

python标准库介绍——12 time 模块详解

==time 模块== ``time`` 模块提供了一些处理日期和一天内时间的函数. 它是建立在 C 运行时库的简单封装. 给定的日期和时间可以被表示为浮点型(从参考时间, 通常是 1970.1.1 ...

python标准库介绍——27 random 模块详解

==random 模块== "Anyone who considers arithmetical methods of producing random digits is, of cour ...

python标准库介绍——10 sys 模块详解

==sys 模块== ``sys`` 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. === 处理命令行参数=== 在解释器启动后, ``argv`` 列表包含了传递给脚本的所有 ...

python标准库介绍——33 thread 模块详解

?==thread 模块== (可选) ``thread`` 模块提为线程提供了一个低级 (low_level) 的接口, 如 [Example 3-6 #eg-3-6] 所示. 只有你在编译解释器时 ...

python标准库介绍——30 code 模块详解

==code 模块== ``code`` 模块提供了一些用于模拟标准交互解释器行为的函数. ``compile_command`` 与内建 ``compile`` 函数行为相似, 但它会通过测试来保证 ...

python标准库介绍——8 operator 模块详解

==operator 模块== ``operator`` 模块为 Python 提供了一个 "功能性" 的标准操作符接口. 当使用 ``map`` 以及 ``filter`` 一类 ...

python标准库介绍——36 popen2 模块详解

==popen2 模块== ``popen2`` 模块允许你执行外部命令, 并通过流来分别访问它的 ``stdin`` 和 ``stdout`` ( 可能还有 ``stderr`` ). 在 pyth ...

python标准库介绍——32 Queue 模块详解

Queue 模块 ``Queue`` 模块提供了一个线程安全的队列 (queue) 实现, 如 [Example 3-2 #eg-3-2] 所示. 你可以通过它在多个线程里安全访问同个对象. ==== ...

python标准库介绍——23 UserString 模块详解

==UserString 模块== (2.0 新增) ``UserString`` 模块包含两个类, //UserString// 和 //MutableString// . 前者是对标准字符串类型的 ...

随机推荐

上传文件fileupload

文件上传: 需要使用控件-fileupload 1.如何判断是否选中文件? FileUpload.FileName -  选中文件的文件名,如果长度不大于0,那么说明没选中任何文件 js - f.va ...

XStream的例子

写个小例子,方便以后复习: 1 package com.demo; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 impor ...

【题解】【BT】【Leetcode】Populating Next Right Pointers in Each Node

Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *nex ...

C语言系列之printf和%12d的用法(三)

看C语言程序的时候,往往会遇到printf函数输出,在此,我想总结一下printf的一般用法以及%12d是什么意思 printf函数的一般格式为 printf(格式控制,输出列表): 例如: prin ...

8_python连接数据库

如何用python操作数据库? -- 导入pymysql                    -- import pymysql -- 创建连接                          - ...

C++常见笔试题

1.实现字符串转整数的函数:int atoi(const char *nptr) 2.实现数组折半查找:int BinarySearch(int a[],int len, int key) 3.实现字 ...

单调栈的运用-bzoj1012(代码转载-http://hzwer.com/1130.html)

Description 现在请求你维护一个数列,要求提供以下两种操作: . 查询操作.语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度. . 插 ...

IDEA导出jar包后运行报错 找不到或无法加载主类

开发工具:IDEA16 运行环境:ubuntu 问题:根据网上的Idea导出jar包的方法,将我的项目导出jar包后运行报错:找不到或无法加载主类.   为了找到这个原因,我重新搭建了一个测试例子,在 ...

Business Unit Helper

using System; using System.Linq; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Sy ...

python的threading库_python标准库介绍——31 threading 模块详解相关推荐

  1. python的标识库和第三方库_Python 标准库、第三方库

    Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库.函数和外部工具.其中既有Python内置函数和标准库,又有第三方库和工具.这些库可用于文件读写.网络抓取和解析.数据连接.数清 ...

  2. random是python标准库吗_python标准库介绍——27 random 模块详解

    ==random 模块== "Anyone who considers arithmetical methods of producing random digits is, of cour ...

  3. python lib库_python标准库pathlib常见操作

    pathlib-- 面向对象的文件系统路径 它是python3.4新增的一个标准库,提供了不同操作系统下文件系统路径的操作方式,有两大类一个是纯路径不带I/0操作,另一个可以进行I/0的类.pathl ...

  4. python自带sqlite库_Python标准库之sqlite3使用实例

    Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具.SQLite还在其它领域有广泛的应 ...

  5. python语音识别的第三方库_python标准库+内置函数+第三方库: 7.音频处理

    python标准库+内置函数+第三方库 欲善其事,必先利其器 这其器必是python的标准库+内置函数,话说许多第三方库, 也是对标准库的使用,进行封装,使得使用起来更方便. 这些库以使用场景来分类: ...

  6. python标准库time_python标准库介绍——12 time 模块详解

    ==time 模块== ``time`` 模块提供了一些处理日期和一天内时间的函数. 它是建立在 C 运行时库的简单封装. 给定的日期和时间可以被表示为浮点型(从参考时间, 通常是 1970.1.1 ...

  7. python几次方函数_Python标准库math中用来计算x的y次方的函数是pow(x,y)。

    [判断题]Python表达式int("110", 2)的值为6. [单选题]关于 Python 的复数类型,以下选项中描述错误的是( ). [判断题]现代物流管理以实现顾客满意为第 ...

  8. python信号处理库_Python标准库07 信号 (signal包,部分os包)(转载)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux的信号基础之后,Python标准库中的signal包就很容易学习 ...

  9. python分析方向的第三方库_Python标准库与第三方库详解

    干货大礼包!21天带你轻松学Python(文末领取更多福利) 点击查看课程视频地址 本课程来自于千锋教育在阿里云开发者社区学习中心上线课程<Python入门2020最新大课>,主讲人姜伟. ...

最新文章

  1. 智能合约的核心思想、语法重点、编程模式、示例、规范及架构
  2. 线程五种状态(新建、就绪、运行、阻塞、死亡)
  3. MSSQL 修改数据库的排序规则
  4. 关于Java基础需要注意的点
  5. 程序中 设置jvm 参数_高效应用程序的7个JVM参数
  6. 【转】dicom网络通讯入门(1)
  7. cas单点登录-jdbc认证(三)
  8. Linux系统:centos7下搭建Nginx和FastDFS文件管理中间件
  9. OPPO Reno7/Reno7 Pro今天开售:首发IMX709超感光猫眼镜头
  10. Java反射初探 ——“当类也学会照镜子”
  11. linux 基础——常见命令及问题
  12. 微信读书 《围城》笔记
  13. 华为android打开usb调试模式,华为 PE-CL00 开启USB调试模式
  14. C - MaratonIME eats japanese food
  15. IDE也卷了,微软杀入嵌入式IDE
  16. 信用卡诈骗检测(经过测试)
  17. 如何优雅使用JDK8中的Stream对list集合中的某值求和
  18. 基于MS的氢键分析脚本介绍
  19. CAN 网络通信矩阵
  20. BSN-DDC基础网络的DID功能设计

热门文章

  1. Node.js CLI 工具最佳实践
  2. 浅析row_number()函数【HQL】
  3. 使用eclipse开发javaweb登录功能带验证码文件下载第几位登录使用servlet编写html
  4. 看动画学算法系列之:后缀树suffix tree
  5. Shutdown SpringBoot App
  6. c++的线程安全静态检查
  7. mysql时间与字符串相互转换
  8. mybatis分页插件pageHelper简单实用
  9. 洛谷——P1223 排队接水
  10. 26行代码AC_试题 历届试题 日期问题 | 第八届蓝桥杯B组第七题