惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏
罗磊的独立博客
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
D
Docker
博客园 - 三生石上(FineUI控件)
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
月光博客
月光博客
S
SegmentFault 最新的问题
Jina AI
Jina AI
Blog — PlanetScale
Blog — PlanetScale
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - Franky
L
LangChain Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Last Week in AI
Last Week in AI

博客园 - chromecrown

MacBook M3 安卓系统层开发环境搭建 C# 语言规范 spring 排除指定的类或者包扫描 java web spring 发送邮件 spring-data-redis和jedis版本对应收集总结 python 调用nmap javascript定时函数 UML学习备忘 听王竑锜老师讲课笔记 WebLogic 8.1 部署问题记录 JavaScript中JSONObject和JSONArray相关知识备忘(网络转载) struts 2 result-types 备忘 小小菜鸟学习mysql 基本操作命令 备忘 VMware虚拟机网络配置相关备忘 visual Studio C# 环境下 创建windows 服务 使用C#调用系统API实现锁定计算机 心情状态---所困 jsf 阶段性总结
python 多线程和多进程基本写法
chromecrown · 2016-03-17 · via 博客园 - chromecrown
#coding=utf-8

def aJob(arg):
    """
    提供给多线程调用
    """
    import threading
    t = threading.current_thread()
    print str(arg)+"current thread name is:"+t.getName()+"\n"


def multiThread():
    """
    多线程任务执行
    """
    from multiprocessing.dummy import Pool as ThreadPool
    from multiprocessing import cpu_count
    cnt_cpu = cpu_count()
    cpus = 10*cnt_cpu #线程池大小
    pool = ThreadPool(cpus)
    _lstParam = range(0,10000)
    pool.map(aJob,_lstParam)
    pool.close()
    pool.join()
    print "multi thread job done"

################以下是多进程############################    
def runProc(name):
    """
    提供给多进程调用
    """
    import os
    print "child process %s(%s)"%(name,os.getpid())
    
def multiProcess():
    """
    多进程
    """
    from multiprocessing import Pool
    from multiprocessing import cpu_count
    import os
    cpus = 1*cpu_count()
    lst_grp = range(0,100)
    p = Pool(cpus)
    for i in range(0,100):
        p.apply_async(runProc,args=(lst_grp[i],))
    p.close()
    p.join()
    print "multi process job done"

def oneProcess():
    """
    启动一个进程
    """
    from multiprocessing import Process
    import os
    p = Process(target=runProc,args=("processName",))
    print "one process will start"
    p.start()
    p.join()
    print "one process end"

if __name__ == "__main__":
    multiThread()#多线程
    multiProcess()#多进程
    oneProcess()#启动一个进程

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

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

from multiprocessing import Pool  引入多进程池