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

推荐订阅源

雷峰网
雷峰网
MongoDB | Blog
MongoDB | Blog
D
Docker
Martin Fowler
Martin Fowler
人人都是产品经理
人人都是产品经理
GbyAI
GbyAI
Jina AI
Jina AI
酷 壳 – CoolShell
酷 壳 – CoolShell
M
MIT News - Artificial intelligence
腾讯CDC
阮一峰的网络日志
阮一峰的网络日志
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
Netflix TechBlog - Medium
B
Blog RSS Feed
云风的 BLOG
云风的 BLOG
Blog — PlanetScale
Blog — PlanetScale
Vercel News
Vercel News
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
有赞技术团队
有赞技术团队
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
I
InfoQ
U
Unit 42

博客园 - 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  引入多进程池