- 浏览: 1010873 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (367)
- JavaScript (23)
- Java (60)
- Python (41)
- 其他 (36)
- SQL (4)
- 开发工具 (26)
- Linux (15)
- AJAX (6)
- Cache (3)
- 正则 (4)
- 架构 (9)
- 手机 (3)
- MySQL (4)
- Android (115)
- vps (1)
- 网站 (4)
- scale (3)
- 搜索引擎 (3)
- iPhone (2)
- hessian (1)
- hessdroid (1)
- 411 (1)
- jstat (1)
- gc (1)
- gallery (1)
- 惯性 (1)
- eclipse (1)
- mac wget error (1)
- miui file explorer 无用 解决办法 (1)
- vim (1)
最新评论
-
qingyezhangluo:
哎。楼主您既然是分享代码的为什么要加密的呢?而且问你密码还不回 ...
android应用换皮肤(转) -
MagicError:
kavoe 写道下载文件有密码。。。。
http抓包工具 -
knightdf:
我先试下再来
JAVA的RAS加密例子 -
kavoe:
下载文件有密码。。。。
http抓包工具 -
changanfounder:
hmc1985 写道setCallbackDuringFlin ...
android gallery滑动惯性问题
综述
2.使用Jython 或 IronPython,可以得到真正的多线程。
…
th = threading.Thread(target=worker,args=(i,acc) ) ;
或者th.join()
g_mutex = threading.Lock()
….
使用锁
for … :
#锁定,从下一句代码到释放前互斥访问
g_mutex.acquire()
a_account.deposite(1)
#释放
g_mutex.release()
import threading
def worker(a_tid,a_account):
global g_mutex
print “Str ” , a_tid, datetime.datetime.now()
for i in range(1000000):
#g_mutex.acquire()
a_account.deposite(1)
#g_mutex.release()
print “End ” , a_tid , datetime.datetime.now()
class Account:
def __init__ (self, a_base ):
self.m_amount=a_base
def deposite(self,a_amount):
self.m_amount+=a_amount
def withdraw(self,a_amount):
self.m_amount-=a_amount
if __name__ == “__main__”:
global g_mutex
count = 0
dstart = datetime.datetime.now()
print “Main Thread Start At: ” , dstart
#init thread_pool
thread_pool = []
#init mutex
g_mutex = threading.Lock()
# init thread items
acc = Account(100)
for i in range(10):
th = threading.Thread(target=worker,args=(i,acc) ) ;
thread_pool.append(th)
# start threads one by one
for i in range(10):
thread_pool[i].start()
#collect all threads
for i in range(10):
threading.Thread.join(thread_pool[i])
dend = datetime.datetime.now()
print “count=”,acc.m_amount
print “Main Thread End at: ” ,dend , ” time span ” , dend-dstart;
Str 0 2009-01-13 00:17:55.312000
Str 1 2009-01-13 00:17:55.453000
Str 2 2009-01-13 00:17:55.484000
Str 3 2009-01-13 00:17:55.531000
Str 4 2009-01-13 00:17:55.562000
Str 5 2009-01-13 00:17:55.609000
Str 6 2009-01-13 00:17:55.640000
Str 7 2009-01-13 00:17:55.687000
Str 8 2009-01-13 00:17:55.718000
Str 9 2009-01-13 00:17:55.781000
End 0 2009-01-13 00:18:06.250000
End 1 2009-01-13 00:18:07.500000
End 4 2009-01-13 00:18:07.531000
End 2 2009-01-13 00:18:07.562000
End 3 2009-01-13 00:18:07.593000
End 9 2009-01-13 00:18:07.609000
End 7 2009-01-13 00:18:07.640000
End 8 2009-01-13 00:18:07.671000
End 5 2009-01-13 00:18:07.687000
End 6 2009-01-13 00:18:07.718000
count= 3434612
Main Thread End at: 2009-01-13 00:18:07.718000 time span 0:00:12.422000
Str 0 2009-01-13 00:26:12.156000
Str 1 2009-01-13 00:26:12.390000
Str 2 2009-01-13 00:26:12.437000
Str 3 2009-01-13 00:26:12.468000
Str 4 2009-01-13 00:26:12.515000
Str 5 2009-01-13 00:26:12.562000
Str 6 2009-01-13 00:26:12.593000
Str 7 2009-01-13 00:26:12.640000
Str 8 2009-01-13 00:26:12.671000
Str 9 2009-01-13 00:26:12.718000
End 0 2009-01-13 00:27:01.781000
End 1 2009-01-13 00:27:05.890000
End 5 2009-01-13 00:27:06.046000
End 7 2009-01-13 00:27:06.078000
End 4 2009-01-13 00:27:06.109000
End 2 2009-01-13 00:27:06.140000
End 6 2009-01-13 00:27:06.156000
End 8 2009-01-13 00:27:06.187000
End 3 2009-01-13 00:27:06.203000
End 9 2009-01-13 00:27:06.234000
count= 10000100
Main Thread End at: 2009-01-13 00:27:06.234000 time span 0:00:54.078000
发表评论
-
python图形处理库Python Imaging Library (PIL)简介及安装(转载收藏)
2010-10-14 13:02 2105[简介] 这两天用python写一个程序,需要对各种格式的 ... -
python:在python中使用opencv进行摄像头编程初体验
2009-12-02 13:11 3962闲着没事做,前段时间买了个摄像头,在ubuntu上用。打开ch ... -
python使用tuple作参数
2009-08-07 15:53 3626def a(*aa): print aa[0] ... -
python sort key
2009-08-07 13:18 2468>>> a=range(10) >&g ... -
python 自带小爬虫
2009-08-07 10:28 1959#! /usr/bin/env python “”" ... -
Python支持中文
2009-08-07 10:27 3232让Python支持中文要在Python代码头部加上# -* ... -
Python多线程编程
2009-08-07 10:26 4068我们在做软件开发的时 ... -
python循环采集
2009-08-07 10:26 1612html=”<td>1</td>< ... -
python的字符操作函数
2009-08-07 10:25 2113在python有各种各样的stri ... -
python去除html标签
2009-08-07 10:24 3521from HTMLParser import HTMLPars ... -
python 下载文件
2009-08-06 14:12 4861抓取数据的时候,有的时候是需要下载一些文件的,比如图片,pdf ... -
python 去除空格,回车符,换行符
2009-08-06 14:05 10674s=’ as asdas \r\nasda’print ” ... -
Python版Linux 下的迅雷
2009-07-29 11:56 2876Linux 下该不该有迅雷,这个问题一直存在分歧,在此也不予讨 ... -
linux下python默认版本的选择
2009-07-29 10:50 2602当你在linux系统下安装了不同版本的python, 怎样设定 ... -
Python监视进程
2009-06-23 11:03 2498由subprocess创建一个进程,然后进行监视 每一秒钟查看 ... -
python pyc pyo
2009-06-19 13:56 4778python并非完全是解释性语言,它是有编译的,先把源码py文 ... -
python chr()、unichr()和ord()
2009-06-18 17:15 64220chr()、unichr()和ord() chr()函数用一 ... -
python打印所有汉字...
2009-06-18 17:04 2701for ch in xrange(0x4e00, 0x9fa6 ... -
程序签名
2009-06-18 16:43 1131打开https://www.symbiansigned.com ... -
python adodb 支持mysql非标准端口
2009-06-15 11:49 1573原文链接:h ttp://www.iteye.com/topi ...
相关推荐
对于python 多线程的理解,我花了很长时间,搜索的大部份文章都不够通俗易懂。所以,这里力图用简单的例子,让你对多线程有个初步的认识。 单线程 在好些年前的MS-DOS时代,操作系统处理问题都是单任务的,我想做...
在Python编程中,多线程是一个重要的概念,特别是在开发服务器应用程序时,因为它允许并发执行任务,从而提高程序的效率。然而,Python中的多线程受到全局解释器锁(Global Interpreter Lock,简称GIL)的限制,这...
它可能包含了更复杂的主题,如网络编程、并发与多线程、数据库接口、Web开发框架(如Django或Flask)以及自动化任务调度。此外,这本书可能还详细讨论了Python的内置类型和标准库,以及如何进行有效的测试和调试。 ...
无论是使用多进程还是多线程,Python都提供了丰富的API来帮助开发者构建高性能的应用程序。`multiprocessing`模块为跨平台多进程编程提供了强大的支持,而`_thread`和`threading`模块则简化了多线程编程的复杂性。...
12. 进一步学习:本书最后一部分将为读者提供一些高级话题的学习方向,比如网络编程、多线程等,并鼓励读者继续深入学习和实践。 除了基础知识部分,本书还包括了几个附录,这些附录提供了有关自由和开源软件许可证...
此外,它可能深入讲解模块化编程、单元测试、调试技巧、性能优化,以及Python在网络编程、多线程和并发处理方面的应用。"Python核心编程"还可能涉及一些实际项目开发的实践,比如Web框架Django或Flask的使用,或者...
- **11.4 多线程**:讲解了如何在Python中使用多线程进行并发处理。 - **11.5 日志**:介绍了如何使用Python进行日志记录。 - **11.6 弱引用**:讲解了弱引用的概念及其应用场景。 - **11.7 处理列表的工具**:提供...
8. **并发编程**:涵盖了线程和进程的概念,以及Python中的多线程和多进程操作,以及更高级的异步I/O模型,如asyncio库。 9. **测试和调试**:讲解了如何编写单元测试,以及如何使用调试工具来查找和修复代码中的...
Python 是多线程语言,它内置有多线程工具包。Python 中的 GIL(全局解释器锁)确保一次执行单个线程。一个线程保存 GIL 并在将其传递给下个线程之前执行一些操作,这会让我们产生并行运行的错觉。但实际上,只是...