python 进行多线程编程,使用Semaphore控制线程数

原创 2004年10月10日 17:32:00
#! /usr/bin/env python

import os
import time
import threading

# 进程函数
def printthread(n):
    
    print n,"-->进程创建"
    for a in range(4):
        print a
        time.sleep(1)
    print n,"-->进程结束"
    sem.release()
    

if __name__ =='__main__':

    maxThread=5
    #
    sem=threading.BoundedSemaphore(maxThread)
    
    for a in range(12):
    
        sem.acquire()
        threading.Thread(target=printthread,args=(a,)).start()

    print "All thread has create,Wait for all thread exit."
    
    for a in range(maxThread):
        sem.acquire();
    
    print "All thread exit"

python—threading.Semaphore和BoundedSemaphore【threading模块介绍04】

一、Semaphore对象1. 基本介绍 Semaphore 是最古老的同步原语之一,由荷兰计算机科学家 Edsger W. Dijkstra 发明。(他最早使用名为 P() 和 V() 的函数对应 ...
  • a349458532
  • a349458532
  • 2016年06月05日 14:51
  • 1763

python多线程threading使用Semaphore或BoundedSemaphore实现并发限制

信号量:class threading.Semaphore([value]) values是一个内部计数,values默认是1,如果小于0,则会抛出 ValueError 异常,可以用于控制线程数...
  • comprel
  • comprel
  • 2017年05月29日 01:48
  • 4435

python学习笔记三---segmaphore信号量学习

信号量semaphore 是一个变量,控制着对公共资源或者临界区的访问。信号量维护着一个计数器,指定可同时访问资源或者进入临界区的线程数。 每次有一个线程获得信号量时,计数器-1。若计数器为0,其他线...
  • yuxin8000
  • yuxin8000
  • 2014年06月22日 21:48
  • 5663

python semaphore

''' Created on 2013-12-8 @author: Administrator ''' import threading,time,random de...
  • robert198837
  • robert198837
  • 2013年12月08日 10:40
  • 1812

关于Python的进程线程协程之threading模块(二)Lock,RLock对象以及Semaphore,BoundedSemaphore对象

关于Python的进程线程协程之threading模块(二)Lock对象与RLock对象 Semaphore对象,BoundedSemaphore对象 线程锁:由于线程之间是随机调度的,并且每个线...
  • ChangerJJLee
  • ChangerJJLee
  • 2017年04月28日 17:24
  • 1040

python自定义线程池控制线程数量

python多线程数量控制,python完成当前线程退出,python线程自定义退出
  • qq_18863573
  • qq_18863573
  • 2017年01月05日 11:16
  • 3760

[Python]多线程网址爬虫:控制线程数,爬虫深度

python多线程作用于可以并行处理的函数上,一般是执行重复操作的一些函数。 在网站URL爬虫中,多线程爬虫作用的函数我设置的是getLink()这个函数:实现功能——根据url获取网页内容再从中爬...
  • u012063507
  • u012063507
  • 2017年06月01日 15:42
  • 958

python多线程,限制线程数

#encoding:utf8 import threading import time data = 0 def func(sleeptime): global data pri...
  • cjh6311882
  • cjh6311882
  • 2013年11月09日 19:08
  • 4986

【Python多进程库】一个函数让你设置CPU数和线程数

使用multicpu之后,你需要一个函数,就可以定义你程序运行时所需的CPU数量和每个CPU占用的线程数量。 重点是,代码只有60行不到,你可以很轻松的阅读源码。...
  • cyh24
  • cyh24
  • 2015年10月21日 23:59
  • 4297

Python多线程1:threading

threading模块提供了高级别的线程接口,基于低级别的_thread模块实现。 模块基本方法 该模块定了的方法如下: threading.active_count()         ...
  • liuy_98_1001
  • liuy_98_1001
  • 2015年06月23日 15:13
  • 3435
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python 进行多线程编程,使用Semaphore控制线程数
举报原因:
原因补充:

(最多只允许输入30个字)