跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Python 创建多进程,运行程序确没有并行 执行,没搞明白,有大佬指点一二吗?
未分類
28 12 月 2020

Python 创建多进程,运行程序确没有并行 执行,没搞明白,有大佬指点一二吗?

Python 创建多进程,运行程序确没有并行 执行,没搞明白,有大佬指点一二吗?

資深大佬 : dawnzhu 3

if __name__ == "__main__":     initial_time = time.time()  # 程序开始时间     url_pool = initialize_database()  # 初始化数据库     search_key = [                 "BALENCIAGA 包",                 "BALLY 包",                 "BOTTEGA VENETA 包",                 "BURBERRY 包",                 "BVLGARI 包",                 "CELINE 包",                 "CHANEL 包"                 ]     jds = Jd_Spider(url_pool, 'jd_info')  # 实例化类     p_list = []     p_jds = multiprocessing.Process(jds.run(), args=())     p_list.append(p_jds)     for key in search_key:         p = multiprocessing.Process(search_keyword.search_sku, args=(key,))         p_list.append(p)     for P_step in p_list:         P_step.start()     for p_step in p_list:         p_step.join()     print("最终用时:", time.time() - initial_time)  # 打印程序最终用时 

我创建多个进程,运行程序,总是会执行 jds_run() 这个函数,search_key_word.search_sku 没有得到并发执行,有大佬清楚其中缘由吗

大佬有話說 (4)

  • 資深大佬 : itskingname

    p_jds = multiprocessing.Process(jds.run(), args=())
    第一个参数应该是 jds.run ,不要加括号。

  • 資深大佬 : 1462326016

    一正解,另外在传递函数对象时要时刻注意,不要加括号,加了括号就是执行这个函数,而不是传递函数对象。

  • 主 資深大佬 : dawnzhu

    @itskingname 是的,没看到这个错误,谢谢哈

  • 主 資深大佬 : dawnzhu

    @1462326016 对对,没注意到这里,谢谢大佬指点

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具