美文网首页
多线程间的通讯方式

多线程间的通讯方式

作者: ___大鱼___ | 来源:发表于2019-05-30 13:01 被阅读0次
  Queue
 解耦:使程序直接实现松耦合,修改一个函数,不会有串联关系。
   提高处理效率:FIFO = 现进先出,LIFO = 后入先出。
# coding: utf-8
# 线程间通讯

# 1. 线程中通讯方式 - > 共享变量

# 2. 通过queue的方法通过线程的通讯

import threading
import Queue
import time


def get_detail_html(queue):
    # 爬取文章详情
    while 1:
        print queue.qsize()
        url = queue.get()
        print url
        print 'get_detail_html start'
        time.sleep(2)
        if queue.qsize() > 10:
            queue.task_done()
        if queue.empty():
            # 主线程退出
            queue.task_done()
            break
            

def get_detail_url(queue):
    # 爬取文章列表页

    print queue.qsize

    print 'get_detail_url start'
    queue.put('cache_set123')
    queue.put('cache_set')
    queue.put('cache_set112')
    time.sleep(2)
    print 'get_detail_url end'
    queue.task_done()


if __name__ == '__main__':
    detail_url_queue = Queue.Queue(maxsize=1000)
    print 1
    threading_detail_url = threading.Thread(target=get_detail_url, args=(detail_url_queue,))
    threading_detail_url.start()

    html_thread = threading.Thread(target=get_detail_html, args=(detail_url_queue,))
    html_thread.start()
    threading_detail_url.join()
    # 主线程收到 task_done信号结束
    html_thread.join()
    print '结束-------'

相关文章

  • 多线程间的通讯方式

  • 2018-04-02

    python高级 多线程通讯 队列 Queue---来完成多进程间的数据传递 管道 Pipe---方式单...

  • 组件间通讯方式

      组件化,在工程组成结构角度讲,也可称为模块化。最终目的是为了解藕。  本文总结了组件间交互方式及原理,不涉及到...

  • 进程间通讯方式

    1.URL Scheme(外链) 这个是IOS app通信最常用到的通信方式,APP1通过openURL的方式跳转...

  • C语言多线程基础入门

    多线程的优势 线程创建更加快速 线程间切换更加快速 线程容易终止 线程间通讯更快速 C语言的多线程可以通过gcc编...

  • android进程间通讯(3)--使用socket

    android进程间通讯(3)–使用Socket 前言:本文记录android进程间通讯的另一种通讯方式–Sock...

  • iOS进程间通讯方式

    iOS 进程间通讯方式: 现在应该还多了一种:Unversal Link(通用链接) 解释 URL Scheme这...

  • 多线程(三)——多线程之间通讯

    什么是多线程之间通讯 多线程之间通讯,其实就是多个线程在操作同一个资源,但是操作的动作不同。 多线程之间通讯需求:...

  • 3.多线程之间通讯

    什么是多线程之间通讯? 多线程之间通讯,其实就是多个线程在操作同一个资源,但是操作的动作不同。 多线程之间通讯需求...

  • 进程间通讯

    一、进程间通讯的方式进程间通讯的方式有很多,常用的有共享内存(内存映射文件、共享内存DLL、剪切板等)、命名管道和...

网友评论

      本文标题:多线程间的通讯方式

      本文链接:https://www.haomeiwen.com/subject/qozdtctx.html