`
yesjavame
  • 浏览: 702234 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

重新学习python线程应用使用thread类,改写程序

阅读更多
  1. #!/usr/bin/envpython
  2. #-*-coding:cp936-*-
  3. #===============================================================================
  4. #1、将原程序改为多线程
  5. #2、加入线程之间的互斥和锁操作
  6. #3、当其中一个线程执行完成后通知锁对象将该线程释放
  7. #===============================================================================
  8. importos,time,thread
  9. #Begin_set_workpath原地址路径
  10. Begin_set_workpath=r"D:\Python_dev"
  11. #Send_set_workpath复制到地址
  12. Send_set_workpath_1=r"D:\test\test1"
  13. Send_set_workpath_2=r"D:\test\test2"
  14. #Log_set_worpath日志生成地址
  15. Log_set_workpath=r"D:\Log_out.log"
  16. print"日志输出路径:%s"%(Log_set_workpath)
  17. newpath=""
  18. print"程序初始化完成,数据集加载成功!"
  19. loops=[Send_set_workpath_1,Send_set_workpath_2]
  20. defCopy_method(newpath,path,lock):
  21. time.time()
  22. os.system("xcopy%s%s/y"%(newpath,path))
  23. lock.release()
  24. defmain():
  25. forroot,dirs,filesinos.walk(Begin_set_workpath):
  26. locks=[]
  27. nloops=range(len(loops))
  28. foriin(0,1):
  29. lock=thread.allocate_lock()
  30. lock.acquire()
  31. locks.append(lock)
  32. foriin(0,1):
  33. forflinfiles:
  34. #获得复制文件的文件路径
  35. newpath=os.path.join(root,fl)
  36. #循环创建线程
  37. thread.start_new_thread(Copy_method,(newpath,loops[i],locks[i]))
  38. #输出日志
  39. Log_out=open(Log_set_workpath,'w')
  40. #日志中记录当前运行时间
  41. record_nowtime=time.localtime()
  42. Log_out.close()
  43. foriin(0,1):
  44. whilelocks[i].locked():pass
  45. if__name__=="__main__":
  46. main()
分享到:
评论

相关推荐

    python 线程的使用 python线程基础知识,提供python2示例代码,供参考学习

    - Python3的`threading`模块提供了Thread类,可以通过创建Thread对象并调用其start()方法来启动线程。线程的执行顺序依赖于操作系统的调度,而非代码的顺序。 - `join()`方法用于等待线程结束,确保主程序不会在...

    基于Linux的python多线程爬虫程序设计.pdf

    本文提出了一种基于Linux平台和Python语言的多线程微博爬虫程序设计方法,旨在高效率、高并发地获取微博数据,并将其结构化存储。 首先,我们应当明确什么是网络爬虫。网络爬虫,也被称为Web爬虫或者网络蜘蛛,是一...

    python使用threading获取线程函数返回值的实现方法

    在Python编程中,多线程是并发执行任务的重要机制,特别是在需要执行多个独立任务时,可以提高程序的执行效率。`threading`模块是Python的标准库之一,它提供了线程管理的功能,包括创建、同步和控制线程。然而,...

    python多线程学习

    Python中的多线程是并发执行任务的一种方式,它允许程序同时处理多个任务,提升程序的效率。在Python中,我们通常使用`threading`模块来实现多线程,而不是`thread`模块,因为`threading`模块提供了更高级别的功能和...

    解决python线程卡死的问题

    在进行Python开发的过程中,可能会遇到程序突然无响应的情况,这往往是由线程卡死引起的。线程卡死不仅会导致程序无法继续执行,还可能引发一系列连锁反应,比如资源泄露、服务中断等问题。本文将详细介绍如何定位并...

    python多线程定时器

    总结起来,`python多线程定时器`的实现涉及到Python的`threading`和`time`模块,通过`Thread`和`Timer`类来创建和管理线程,使用定时器控制线程的启动时间。主程序`main.py`使用这些工具来安排多个任务按设定的间隔...

    python线程教程,python线程学习笔记.doc

    在Python编程语言中,线程是并发执行任务的基本单元,允许程序同时处理多个任务。Python标准库中的`threading`模块提供了线程相关的功能。在本文中,我们将深入探讨Python线程的基础知识,包括线程如何访问全局变量...

    单线程与多线程python爬虫地图瓦片源码

    在Python中,可以使用`threading`模块创建和管理线程。 标题中的“单线程与多线程Python爬虫”涉及的核心是如何利用线程技术优化地图瓦片的下载过程。单线程爬虫适用于小型项目,其代码简单易懂,但当需要下载大量...

    python线程与进程实现方式

    下面,我们将探讨如何使用Python的生成器和装饰器来实现线程与进程。生成器可以作为协程的基础,通过控制生成器的执行流程,我们可以实现非阻塞的并发行为。例如,我们可以使用`asyncio`库,它基于生成器提供了一套...

    python 多线程实现多个网址的多次快速访问

    在Python编程中,多线程是一种并发执行任务的机制,尤其在处理I/O密集型任务如网络请求时,能够显著提高程序效率。本教程将详细讲解如何使用Python的多线程来实现对多个网址的快速访问,并记录访问结果。 首先,...

    PYthon-multithreading-Test.rar_python_python 多线程_python多线程_多线程

    通过深入学习和实践压缩包中的“PYthon multithreading Test”源码,你可以更好地掌握Python多线程的原理和应用,为编写高效、稳定的多线程程序打下坚实的基础。在实际开发中,结合具体场景选择合适的并发模型,是...

    python 线程的暂停, 恢复, 退出详解及实例

    python 线程 暂停, 恢复, 退出 我们都知道python中可以是threading模块实现多线程, 但是模块并没有提供暂停, 恢复和停止线程的方法, 一旦线程对象调用start方法后, 只能等到对应的方法函数运行完毕. 也就是说一旦...

    python小程序8 python小程序8 python小程序8 python小程序8

    综合以上分析,"Python小程序8"的学习内容可能涉及如何使用Python编写高效、实用的代码,包括但不限于模块化编程、异常处理、系统交互(如使用DLL文件)、创建桌面应用程序等。通过这样的学习,开发者可以提升自己的...

    python实现的类IDM高速下载程序

    "Python实现的类IDM高速下载程序"是一个利用Python编程语言构建的多线程下载工具,它借鉴了Internet Download Manager (IDM) 的核心理念,即通过分段下载和多线程并行处理来显著提高下载速度,同时不受网络速度限制...

    基于Linux的python多线程爬虫程序设计.zip

    最后,`基于Linux的python多线程爬虫程序设计.pdf`很可能包含详细的教程和示例代码,读者可以结合这份文档深入学习多线程爬虫的实现细节。通过实际项目练习,可以更好地理解和掌握这一技术,提升自己的编程能力。在...

    浅析Python多线程与多进程的使用

    本篇文章将深入探讨Python中的多线程和多进程概念,以及它们在实际应用中的优缺点。 首先,我们要理解“线程”和“进程”的基本概念。线程是程序执行的最小单位,一个进程中可以有多个线程,它们共享同一份内存空间...

    python多线程同步之文件读写控制

    在Python编程中,多线程同步对于文件读写控制至关重要,因为如果不加以控制,多个线程同时访问同一文件可能会导致数据不一致或者错误。...在多线程编程中,合理使用同步机制对于保证程序的稳定性和正确性至关重要。

    python多线程,断点续传下载程序

    python多线程,断点续传下载程序,功能比较简单,可以进行二次开发。实现更好用的 功能。

    Python程序设计:多线程爬虫.pptx

    **Python程序设计:多线程爬虫** 在Python程序设计中,多线程爬虫是一种高效的数据抓取技术,尤其适用于需要处理大量网页并行抓取的场景。本主题主要探讨了多线程爬虫的基本原理,以及如何在Python中实现这一技术。...

    python线程、队列等应用示例

    python python线程、队列等应用示例 python线程、队列等应用示例

Global site tag (gtag.js) - Google Analytics