学习python的一些脚本
python生产者与消费者模型
# -*- coding:utf-8 -*-
import threading
import random
import time
gMoney = 1000
gLock = threading.Lock()
gTotalTimes = 10
gTime = 0
class Producer(threading.Thread):
def run(self):
global gMoney
global gTime
while True:
money = random.randint(100,1000)
gLock.acquire()
if gTime >= gTotalTimes:
gLock.release()
break
gMoney += money
print "%s生产了%d元钱,剩余%d元钱" % (threading.current_thread(),money,gMoney)
gTime += 1
gLock.release()
time.sleep(0.5)
class Consumer(threading.Thread):
def run(self):
global gMoney
while True:
money = random.randint(100,1000)
gLock.acquire()
if gMoney >= money:
gMoney -= money
print "%s消费者,消费了%d元,还剩%d元" %(threading.current_thread(),money,gMoney)
else:
if gTime >= gTotalTimes:
gLock.release()
break
gLock.release()
time.sleep(0.5)
def main():
for x in range(5):
t = Producer(name="生产者线程%d" % x)
t.start()
for x in range(3):
t = Consumer(name="消费者线程%d" % x)
t.start()
if __name__ == '__main__':
main()
#做个笔记 注意代码缩进。。。。。。
python队列
# -*- coding:utf-8 -*-
import time
import Queue
import threading
# q = Queue.Queue(4)
# for x in range(4):
# q.put(x)
# print q.qsize() 队列大小
# print q.full() 队列是否满
#
# for x in range(4):
# print q.get()
#q.get(block=True) #默认阻塞
# q.put(block=True)
def set_value(q):
index = 0
while True:
q.put(index)
index += 1
time.sleep(3)
def get_value(q):
while True:
print q.get()
def main():
q = Queue.Queue()
t1 = threading.Thread(target=set_value,args=[q])
t2 = threading.Thread(target=get_value,args=[q])
t1.start()
t2.start()
if __name__ == '__main__':
main()
学习python的一些脚本的更多相关文章
- 关于sqlmap当中tamper脚本编码绕过原理的一些总结(学习python没多久有些地方肯定理解有些小问题)
sqlmap中tamper脚本分析编写 置十对一些编码实现的脚本,很多sqlmap里面需要引用的无法实现,所以有一部分例如keywords就只写写了几个引用了一下,其实这里很多脚本运用是可以绕过安全狗 ...
- 学习Python第一天,命令很多跟Linux还有脚本语言相似。
学习Python第二天,看了一天,有点头疼,准备先休息一会,再继续.有一点C语言和Java基础,学起来不是很费劲.学习热情尚好. 学习了dir,math模块,import加载模块,有跟Linux相似的 ...
- Python学习--Python基础语法
第一个Python程序 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗 ...
- 学习Python的三种境界
前言 王国维在<人间词话>中将读书分为了三种境界:"古今之成大事业.大学问者,必经过三种之境界:'昨夜西风凋碧树,独上高楼,望尽天涯路'.此第一境也.'衣带渐宽终不悔,为伊消得人 ...
- 「python」: arp脚本的两种方法
「python」: arp脚本的两种方法 第一种是使用arping工具: #!/usr/bin/env python import subprocess import sys import re de ...
- 编程零基础应当如何开始学习 Python?
提前说一下,这篇福利多多,别的不说,直接让你玩回最有手感的怀旧游戏,参数贴图很方便自己可以根据喜好修改哦. 本篇通过以下四块展开,提供大量资源对应. 选一个好版本 有没有看过<在下坂本,有何贵干 ...
- 【转】布同:如何循序渐进学习Python语言
大家都知道Python语言是一种新兴的编程语言.1989年,Python就由Guido van Rossum发明.Python一直发展态势很好. 原因有几点:1.跨平台性好.Linux.Windows ...
- 小白学习Python之路---开发环境的搭建
本节内容 1.Python的介绍 2.发展史 3.安装Python 4.搭建开发环境 5.Hello World程序 一.Python的介绍 Python的创始人为荷兰人吉多·范罗苏姆(Guido v ...
- 初步学习python
自计算机诞生以来,也伴随着计算机语言的诞生,现在,全世界的编程语言有600多种,但流行的编程语言也就20多种. Java和C一直占据着前两名.但是近年来伴随着人工智能的发展,Python发展迅猛,以其 ...
随机推荐
- EasingAnimation
EasingAnimation https://github.com/YouXianMing/EasingAnimation This class is used for Easing animati ...
- Eclipse导出可运行的jar包并运行
https://blog.csdn.net/kpchen_0508/article/details/49275407 程序运行的第二种方式:
- apt 安装 tomcat
apt 安装 tomcat 直接使用 agt-get 安装 apt-get install tomcat7 # or apt-get install tomcat8 需要一段时间后就安装完成了. 安装 ...
- 软工团队 - 预则立&&他山之石
软工团队 - 预则立&&他山之石 团队任务计划 时间 人员 任务 10.23-10.29 张昭锡 初拟Android代码规范 李永盛 初拟PHP代码规范 刘晨瑶 初拟Git代码规范 刘 ...
- Salesforce的多态存储和SAP C4C的元数据存储仓库
Salesforce Force.com integrates and optimizes several different data persistence technologies to del ...
- 将git关联到pycharm
1. 安装pycharm 2. 安装git 3. 打开pycharm, 点钟File -> settings -> Version Control -> Git 该面板中,填写git ...
- Java对html标签的过滤和清洗
OWASP HTML Sanitizer 是一个简单快捷的java类库,主要用于放置XSS 优点如下: 1.使用简单.不需要繁琐的xml配置,只用在代码中少量的编码 2.由Mike Samuel(谷歌 ...
- P2258 子矩阵
题目描述 给出如下定义: 子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与列的相对顺序)被称为原矩阵的一个子矩阵. 例如,下面左图中选取第 222 . 444 行和第 222 ...
- 6.7 块管理器BlockManager
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreem ...
- (转)进程process和线程thread的关系
写的很好很明白cpu每次只能执行一个进程,所以其他进程会挂起 在一个进程中,允许存在n个线程,n个线程共享这个进程中的资源 多个线程在共享的时候存在资源互斥,一次只能一个线程,会需要加锁 一次存在固定 ...