重新学习python线程应用使用thread类,改写程序
2008-09-21 23:28
666 查看
#!/usr/bin/env python
#-*- coding: cp936 -*-
#===============================================================================
# 1、将原程序改为多线程
# 2、加入线程之间的互斥和锁操作
# 3、当其中一个线程执行完成后通知锁对象将该线程释放
#===============================================================================
import os,time,thread
# Begin_set_workpath原地址路径
Begin_set_workpath = r"D:/Python_dev"
# Send_set_workpath复制到地址
Send_set_workpath_1 = r"D:/test/test1"
Send_set_workpath_2 = r"D:/test/test2"
# Log_set_worpath日志生成地址
Log_set_workpath = r"D:/Log_out.log"
print "日志输出路径:%s" % (Log_set_workpath)
newpath = ""
print "程序初始化完成,数据集加载成功!"
loops = [Send_set_workpath_1,Send_set_workpath_2]
def Copy_method(newpath,path,lock):
time.time()
os.system("xcopy %s %s /y" % (newpath,path))
lock.release()
def main():
for root, dirs, files in os.walk(Begin_set_workpath):
locks = []
nloops = range(len(loops))
for i in (0,1):
lock = thread.allocate_lock()
lock.acquire()
locks.append(lock)
for i in (0,1):
for fl in files:
#获得复制文件的文件路径
newpath = os.path.join(root,fl)
#循环创建线程
thread.start_new_thread(Copy_method,(newpath,loops[i],locks[i]))
#输出日志
Log_out = open(Log_set_workpath,'w')
#日志中记录当前运行时间
record_nowtime = time.localtime()
Log_out.close()
for i in (0,1):
while locks[i].locked():pass
if __name__ == "__main__":
main()
#-*- coding: cp936 -*-
#===============================================================================
# 1、将原程序改为多线程
# 2、加入线程之间的互斥和锁操作
# 3、当其中一个线程执行完成后通知锁对象将该线程释放
#===============================================================================
import os,time,thread
# Begin_set_workpath原地址路径
Begin_set_workpath = r"D:/Python_dev"
# Send_set_workpath复制到地址
Send_set_workpath_1 = r"D:/test/test1"
Send_set_workpath_2 = r"D:/test/test2"
# Log_set_worpath日志生成地址
Log_set_workpath = r"D:/Log_out.log"
print "日志输出路径:%s" % (Log_set_workpath)
newpath = ""
print "程序初始化完成,数据集加载成功!"
loops = [Send_set_workpath_1,Send_set_workpath_2]
def Copy_method(newpath,path,lock):
time.time()
os.system("xcopy %s %s /y" % (newpath,path))
lock.release()
def main():
for root, dirs, files in os.walk(Begin_set_workpath):
locks = []
nloops = range(len(loops))
for i in (0,1):
lock = thread.allocate_lock()
lock.acquire()
locks.append(lock)
for i in (0,1):
for fl in files:
#获得复制文件的文件路径
newpath = os.path.join(root,fl)
#循环创建线程
thread.start_new_thread(Copy_method,(newpath,loops[i],locks[i]))
#输出日志
Log_out = open(Log_set_workpath,'w')
#日志中记录当前运行时间
record_nowtime = time.localtime()
Log_out.close()
for i in (0,1):
while locks[i].locked():pass
if __name__ == "__main__":
main()
相关文章推荐
- python线程锁(thread)学习示例
- 使用Python改写的身份证信息查询小程序
- 【学习1—安装】uiautomator2 使用Python测试 Android应用
- 神经网络与深度学习 使用Python实现基于梯度下降算法的神经网络和自制仿MNIST数据集的手写数字分类可视化程序 web版本
- 安卓程序子线程创建和简单使用学习
- Python学习之使用ctypes模块操作C扩展程序
- Qt 的线程与事件循环——可打印threadid进行观察槽函数到底是在哪个线程里执行,学习moveToThread的使用)
- 神经网络与深度学习 1.6 使用Python实现基于梯度下降算法的神经网络和MNIST数据集的手写数字分类程序
- Android基础学习之异步任务使用Thread(线程)
- Android应用开发学习—Toast的使用(位置变化及重新自定义)
- 木其工作室(专业程序代写服务)[转]每个程序员都应该学习使用Python或Ruby
- python中pickle使用学习-字典小程序函数化
- Lua 学习笔记(九)协同程序(线程thread)
- python 8-1 如何使用多线程,Thread创建线程,执行函数赋值给target//类+函数放在run方法中执行
- Python学习笔记-线程的使用
- python中pickle使用学习-字典小程序学习
- python线程锁(thread)学习示例
- 【极客学院】-python学习笔记-3-单线程爬虫 (request安装遇到问题及解决,应用requests提取信息)
- python 学习笔记 11 -- 使用参数使你的程序变得更性感
- 树莓派学习系列5——使用python编写简单的游戏程序