找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2137|回复: 0

[讨论] pool.apply_async 为何是串行,并不是异步并行运行?

1

主题

1

帖子

1

积分

贫民

积分
1
zhaopython 发表于 2019-4-18 16:18:59 | 显示全部楼层 |阅读模式
# from multiprocessing import Process,JoinableQueue,Manager,Queue,Semaphore,Pool,freeze_support
import multiprocessing
import threading

def prt(flag):
    for i in range(10):
        print('aaaa ' + flag)
        # time.sleep(2)

def test(count):
    t1=threading.Thread(target=prt('a'+ str(count)))
    t1.start()
    # t1.join()

    for i in range(10):
        print("-- " + str(i))
        # time.sleep(1)

if __name__ == '__main__':
    multiprocessing.freeze_support()

    pool = multiprocessing.Pool(2)
    # 不会异步执行
    pool.apply_async(test(1))
    pool.apply_async(test(2))
    # 异步执行
    # p=Process(target=test)
    # p.start()
    # 也不异步扫执行
    # t=threading.Thread(target=test())
    # t.start()

    print("main end...");


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表