zoukankan      html  css  js  c++  java
  • 多线程,多进程(1)

    1.多线程、多进程的简介:

            1)线程是程序里面最小的执行单元。

            2)进程是资源的集合。

                线程是包含在一个进程里面的, 一个进程可以有多个线程。

                一个进程里面默认有一个线程,这个是主线程。

    2.多线程

    import threading,time     #导入线程模块

    def run():

             time.sleep(3) #干活需要3s

             print('哈哈哈')

    for i in range(5): #串行  5个依次执行15s

        run()

    for i in range(5):  #并发

         t = threading.Thread(target=run) #实例化了一个线程  target 只需写一个函数名即可。这里启动另外5个子线程

        t.start()   #这里启动了5个线程,这里理论应该执行3s

    #多线程, 就是N个线程一起在干活

    #1、串行

    # start_time = time.time()

    # for k,v in urls.items():

    #      down_html(k,v)    #传入两个参数

    # end_time = time.time()

    # run_time = end_time - start_time

    # print('下载总共花了xxx时间',run_time)

    #2、并行 (爬虫举例)

    urls = {

             'besttest':'http://www.besttest.cn',

             'niuniu':'http://www.nnzhp.cn',

             'dsx':'http://www.imdsx.cn',

             'cc':'http://www.cc-na.cn'

    }

    import requests,time

    data= {}

    def down_html(file_name,url):    #下载网站内容

             start_time = time.time()

             res = requests.get(url).content   #返回的2进制的内容

             open(file_name+'.html','wb').write(res)    #2进制的直接写入 

             end_time = time.time()

             run_time = end_time-start_time

             data[url] = run_time

    threads = []

    start_time = time.time()

    for k,v in  urls.items():   #5次

             t = threading.Thread(target=down_html,args=(k,v)) #多线程的函数如果传参的话,必须得用args

             t.start()

             threads.append(t)  #

    #6个线程

    #进程里面默认有一个线程,这个线程叫做主线程   直接打印时间就是主线程执行代码的时间

    for t in threads:

             t.join()     ##循环等待

    print(data)

    end_time = time.time()

    run_time = end_time - start_time

    print('下载总共花了xxx时间',run_time)

  • 相关阅读:
    android 设置状态栏与标题背景颜色一致
    Android 无标题、全屏设置
    android Activity绑定Service
    lua入门之四元表
    lua入门之三module
    lua入门之二table
    lua入门之一函数
    Cocos2dx 3.10版编译安卓报卷标错误
    js 创建、添加、删除元素节点 添加文本节点
    正则表达式
  • 原文地址:https://www.cnblogs.com/cslw5566/p/9102879.html
Copyright © 2011-2022 走看看