简单了解线程、一些网络知识

一、初识线程

import threading

def func(*args):
    print("1")

t = threading.Thread(target=func,args=(1,2,3,))  #创建了一个线程,让该线程去完成任务(函数)
t.start()
#1

二、利用线程与socket模块完成多线程的信息传递

服务端

import threading
import time
import socket
server = socket.socket()
server.bind(("192.168.13.185",8100))
server.listen(5)
def func(arg):
    data = arg.recv(1024).decode("utf8")
    time.sleep(2)
    print(data)

while 1:
    conn,addr = server.accept()  #也就是当每收到一个连接时,就创建了一个线程去完成任务
    t = threading.Thread(target=func,args=(conn,))
    t.start()

三、利用多线程简单爬几张图片****(多线程主要是提高效率)

import threading
import uuid
import requests
url_list = [
    'https://www3.autoimg.cn/newsdfs/g28/M05/F9/98/120x90_0_autohomecar__ChsEnluQmUmARAhAAAFES6mpmTM281.jpg',
    'https://www2.autoimg.cn/newsdfs/g28/M09/FC/06/120x90_0_autohomecar__ChcCR1uQlD6AT4P3AAGRMJX7834274.jpg',
    'https://www2.autoimg.cn/newsdfs/g3/M00/C6/A9/120x90_0_autohomecar__ChsEkVuPsdqAQz3zAAEYvWuAspI061.jpg',
]
def func(url):
    res = requests.get(url)
    file_name = str(uuid.uuid4()) + ".jpg"  #随机生成一个名字
    with open(file_name,"wb") as f:
        f.write(res.content)  #res.content 就是接收到的数据
for url in url_list:
    t = threading.Thread(target=func,args=(url,))
    t.start()

四、一些网络知识

  1.电脑中有网卡,网卡里有mac地址

  2.路由器或交换机中的DHCP服务为我们自动分配ip地址

    局域网、城域网、广域网

      广播、单播、广播风暴、arp协议

  3.DNS

    域名解析

    域名与ip的对应关系在哪里

      win:C:WindowsSystem32driversecthosts

      Linux、Mac电脑:/etc/hosts

      DNS服务器,全球顶级DNS服务器13台

  总结:

    1.DHCP,自动为局域网内的电脑分配ip

    2.网关,路由器中连接交换机的口

    3.ip,4个点分十进制表示

    4.子网掩码

      192.168.13.99

      255.255.255.0

    5.局域网、城域网、广域网

    6.arp协议

    7.DNS

原文地址:https://www.cnblogs.com/qq849784670/p/9599643.html