1. #coding=utf-8
  2.  
  3. def aJob(arg):
  4. """
  5. 提供给多线程调用
  6. """
  7. import threading
  8. t = threading.current_thread()
  9. print str(arg)+"current thread name is:"+t.getName()+"\n"
  10.  
  11. def multiThread():
  12. """
  13. 多线程任务执行
  14. """
  15. from multiprocessing.dummy import Pool as ThreadPool
  16. from multiprocessing import cpu_count
  17. cnt_cpu = cpu_count()
  18. cpus = 10*cnt_cpu #线程池大小
  19. pool = ThreadPool(cpus)
  20. _lstParam = range(0,10000)
  21. pool.map(aJob,_lstParam)
  22. pool.close()
  23. pool.join()
  24. print "multi thread job done"
  25.  
  26. ################以下是多进程############################
  27. def runProc(name):
  28. """
  29. 提供给多进程调用
  30. """
  31. import os
  32. print "child process %s(%s)"%(name,os.getpid())
  33.  
  34. def multiProcess():
  35. """
  36. 多进程
  37. """
  38. from multiprocessing import Pool
  39. from multiprocessing import cpu_count
  40. import os
  41. cpus = 1*cpu_count()
  42. lst_grp = range(0,100)
  43. p = Pool(cpus)
  44. for i in range(0,100):
  45. p.apply_async(runProc,args=(lst_grp[i],))
  46. p.close()
  47. p.join()
  48. print "multi process job done"
  49.  
  50. def oneProcess():
  51. """
  52. 启动一个进程
  53. """
  54. from multiprocessing import Process
  55. import os
  56. p = Process(target=runProc,args=("processName",))
  57. print "one process will start"
  58. p.start()
  59. p.join()
  60. print "one process end"
  61.  
  62. if __name__ == "__main__":
  63. multiThread()#多线程
  64. multiProcess()#多进程
  65. oneProcess()#启动一个进程

from multiprocessing.dummy import Pool as ThreadPool    表示引入多线程池

from multiprocessing import cpu_count    表示计算所在计算机cpu数量

from multiprocessing import Pool  引入多进程池

python 多线程和多进程基本写法的更多相关文章

  1. Python多线程和多进程谁更快?

    python多进程和多线程谁更快 python3.6 threading和multiprocessing 四核+三星250G-850-SSD 自从用多进程和多线程进行编程,一致没搞懂到底谁更快.网上很 ...

  2. python多线程与多进程--存活主机ping扫描以及爬取股票价格

    python多线程与多进程 多线程: 案例:扫描给定网络中存活的主机(通过ping来测试,有响应则说明主机存活) 普通版本: #扫描给定网络中存活的主机(通过ping来测试,有响应则说明主机存活)im ...

  3. Python 多线程、多进程 (三)之 线程进程对比、多进程

    Python 多线程.多进程 (一)之 源码执行流程.GIL Python 多线程.多进程 (二)之 多线程.同步.通信 Python 多线程.多进程 (三)之 线程进程对比.多线程 一.多线程与多进 ...

  4. Python 多线程、多进程 (一)之 源码执行流程、GIL

    Python 多线程.多进程 (一)之 源码执行流程.GIL Python 多线程.多进程 (二)之 多线程.同步.通信 Python 多线程.多进程 (三)之 线程进程对比.多线程 一.python ...

  5. Python 多线程、多进程 (二)之 多线程、同步、通信

    Python 多线程.多进程 (一)之 源码执行流程.GIL Python 多线程.多进程 (二)之 多线程.同步.通信 Python 多线程.多进程 (三)之 线程进程对比.多线程 一.python ...

  6. python多线程与多进程及其区别

    个人一直觉得对学习任何知识而言,概念是相当重要的.掌握了概念和原理,细节可以留给实践去推敲.掌握的关键在于理解,通过具体的实例和实际操作来感性的体会概念和原理可以起到很好的效果.本文通过一些具体的例子 ...

  7. 基于Windows平台的Python多线程及多进程学习小结

    python多线程及多进程对于不同平台有不同的工具(platform-specific tools),如os.fork仅在Unix上可用,而windows不可用,该文仅针对windows平台可用的工具 ...

  8. python 多线程、多进程

    一.首先说下多线程.多进程用途及异同点,另外还涉及到队列的,memcache.redis的操作等: 1.在python中,如果一个程序是IO密集的操作,使用多线程:运算密集的操作使用多进程. 但是,其 ...

  9. python多线程,多进程

    线程是公用内存,进程内存相互独立 python多线程只能是一个cpu,java可以将多个线程平均分配到其他cpu上 以核为单位,所以GIL(全局锁,保证线程安全,数据被安全读取)最小只能控制一个核,很 ...

随机推荐

  1. jQuery Mobile 工具栏

    jQuery Mobile 工具栏 工具栏元素常被放置于页眉和页脚中 - 以实现"已访问"的导航: 标题栏 页眉通常会包含页眉标题/LOGO 或一到两个按钮(通常是首页.选项或搜索 ...

  2. Android SDK更新以及ADT更新出现问题的解决办法

    http://jingyan.baidu.com/article/148a192196209d4d70c3b168.html

  3. ng animate

    要在angular中加入动画必须引入angular.animate.js插件,然后就可以在module中引入ngAnimate模块.如: var module1 = angular.module('m ...

  4. inotify resources exhausted

    inotify resources exhausted tail -f /var/log/kubelet.log tail: inotify resources exhausted tail: ino ...

  5. Getting Started With Hazelcast 读书笔记(第四章)

    第四章 分而治之 在指导了如何进行基本使用之后,又再次进入理论模块. Hazelcast的基本策略就是切片分区,默认是271个片.内置一个 partition table记录那个节点是那个分区,并在h ...

  6. rdlc报表DEMO

    rdlc报表demo  .net 4.0  vs2013 文本框,图像控件,checkbox样式的打印 下载链接

  7. Jquery基础知识

    //使用$操作得到的对象,都是Jquery对象 如何把Jquery对象转换成dom对象?$abc 方法1:var div = $div.get(0) 方法2:var div = $div[0] 如何把 ...

  8. SAP第一轮面试总结

    1. 开始是一套面试题,可以选JAVA或C/C++两个语言的英文题.基础语法题,以指针为主. 2. 英文介绍,自由发挥.问了以下几个问题: 离职的愿意,未来五年的计划,介不介意使用ABAP langu ...

  9. JS组件系列——封装自己的JS组件

    前言:之前分享了那么多bootstrap组件的使用经验,这篇博主打算研究下JS组件的扩展和封装,我们来感受下JQuery为我们提供$.Extend的神奇,看看我们怎么自定义自己的组件,比如我们想扩展一 ...

  10. virtual 修饰符 C# .NET

    virtual 关键字用于修饰方法.属性.索引器或事件声明,并且允许在派生类中重写这些对象. 例如,此方法可被任何继承它的类重写. (C#参考) public virtual double Area( ...