thread/threading

  • python线程内建模块练习

    1. EXP1, thread简单调用
    2. EXP2, thread加入锁

1. EXP1, thread简单调用

  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3. import thread
  4. import time
  5. # 为线程定义一个函数
  6. def threadTest(threadName):
  7. print "%s" %(threadName)
  8. # 创建两个线程
  9. try:
  10. thread.start_new_thread( threadTest, ("Thread-1",) )
  11. time.sleep(0.3)
  12. thread.start_new_thread( threadTest, ("Thread-2",) )
  13. time.sleep(0.3)
  14. except:
  15. print "Error: unable to start thread"

2. EXP2, thread加入锁

  • 起10个进程;
  • 单线程独占资源;
  • 用锁来保证每个线程结束后再执行下一个进程;
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3. import thread, time, random
  4. count = 0
  5. lock = thread.allocate_lock() #创建一个琐对象
  6. def threadTest():
  7. global count, lock
  8. print lock.acquire() #获取琐
  9. for i in xrange(10000):
  10. count += 1
  11. print lock.release() #释放琐
  12. #print thread.exit ()
  13. for i in xrange(10):
  14. thread.start_new_thread(threadTest, ())
  15. time.sleep(0.3)
  16. print count

来自为知笔记(Wiz)

时间: 2024-08-02 17:59:07

thread/threading的相关文章

Python 多线程 -thread threading Queue- 简单学习

在实际工作过程中,会出现需要并发的做一些事情,例如一台机器测到几千台机器的网络连通性,如果你单线程一台一台测的话,会花费很多的事情,不具有实时性,更不能在变化的时候立刻感知当时网络的状况,这时多线程就是一个很好地选择.python已经给我们封装好了多线程库thread和threading. thread:比较底层的模块 threading:Higher-level threading interface ps:建议使用threading模块 - 高级别的threading模块更为先进,对线程的支

[python]多线程模块thread与threading

Python通过两个标准库(thread, threading)提供了对多线程的支持 thread模块 import time import thread def runner(arg): for i in range(6): print str(i)+':'+arg time.sleep(1) #结束当前线程 thread.exit_thread() #等同于thread.exit() #启动一个线程,第一个参数为函数名, #第二个参数为一个tuple类型,是传给函数的参数 thread.st

Python多线程(threading)学习总结

注:此文除了例子和使用心得是自己写的,很多都是Python核心编程中的原文.原文文风应该能看出来,就不每个地方单独表明出处了. 线程(有时被称为轻量级进程)跟进程有些相似,不同的是,所有的线程运行在同一个进程中,共享相同的运行环境.它们可以想像成是在主进程或"主线程"中并行运行的"迷你进程". 线程有开始,顺序执行和结束三部分.它有一个自己的指令指针,记录自己运行到什么地方.线程的运行可能被抢占(中断),或暂时的被挂起(也叫睡眠),让其它的线程运行,这叫做让步.一个

Python标准库08 多线程与同步 (threading包)

Python主要通过标准库中的threading包来实现多线程.在当今网络时代,每个服务器都会接收到大量的请求.服务器可以利用多线程的方式来处理这些请求,以提高对网络端口的读写效率.Python是一种网络服务器的后台工作语言 (比如豆瓣网),所以多线程也就很自然被Python语言支持. (关于多线程的原理和C实现方法,请参考我之前写的Linux多线程与同步,要了解race condition, mutex和condition variable的概念) 多线程售票以及同步 我们使用Python来实

Python学习笔记16:标准库之多线程(threading包)

Python主要通过标准库中的threading包来实现多线程. 当今网络时代,每个服务器都会接收到大量的请求.服务器可以利用多线程的方式来处理这些请求,以提高对网络端口的读写效率. Python是一种网络服务器的后台工作语言 (比如豆瓣网),所以多线程也就很自然被Python语言支持. 多线程售票以及同步 我们使用Python来实现Linux多线程与同步文中的售票程序. 我们使用mutex (也就是Python中的Lock类对象) 来实现线程的同步: import threading impo

Python学习笔记16:标准库多线程(threading包裹)

Python主要是通过标准库threading包来实现多线程. 今天,互联网时代,所有的server您将收到大量请求. server要利用多线程的方式的优势来处理这些请求,为了改善网络port读写效率. Python它是一个网络server后台工作语言 (豆瓣网),所以多线程也就非常自然被Python语言支持. 多线程售票以及同步 我们使用Python来实现Linux多线程与同步文中的售票程序. 我们使用mutex (也就是Python中的Lock类对象) 来实现线程的同步: import th

threading 多线程

#add_thread # View more python learning tutorial on my Youtube and Youku channel!!! # Youtube video tutorial: https://www.youtube.com/channel/UCdyjiB5H8Pu7aDTNVXTTpcg # Youku video tutorial: http://i.youku.com/pythontutorial import threading #def mai

线程和进程

线程和进程 进程:狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed). 简而言之,就像qq要以一个整体的形式暴露给操作系统管理,里面包含对各种资源的调用,内存的管理,网络接口的调用等,对各种资源管理的集合就可以称为 进程. 进程要操作CPU必须要先创建一个线程,在当代面向线程设计的计算机结构中,进程是线程的容器. 线程:是程序执行流的最小单元,是一串指令的集合 区别: 1,线程共享内存空间和资源

Python 10min 面试题解析丨Python实现多连接下载器

作者:蜗牛 shengxinjing (woniuppp) · GitHub 今天群里看到有人问关于 Python 多线程写文件的问题,联想到这是 Reboot 的架构师班的入学题.我想了一下,感觉坑和考察的点还挺多的,可以当成一个面试题来问,简单说一下我的想法和思路吧,涉及的代码和注释在 GitHub 上 (https://github.com/shengxinjing/my_blog/blob/master/downloader/downloader.py) 当年的网络蚂蚁"多点同时下载.并