day19多线程

import re

"""
正则表达式:
1.正则符号
.  
\w
\s
\d 
\b
^
$
\B
\W
\S
\D
[ash] [\dabc]  [a-z1-9]  [^a-z]  
*,+,?,{N}, {M,N}, {M,}, {,N}   --  贪婪
*?,+?,??,{M,N}?, {M,}?, {,N}?   -- 非贪婪 
正则1|正则2
()

2.re模块
完全匹配: re.fullmatch()
匹配字符串开头: re.match()
搜索: re.search()
查找: re.findall() 、re.finditer()
分割: re.split()
替换: re.sub()
"""

import socket

"""
1.什么是socket
socket又叫套接字, 指的是网络通信的两端,分别是服务器和客户端
socket编程指的就是通过代码实现客户端和服务器之间的通信

2.服务器的实现
"""
# 1.创建套接字对象
"""
family: ip类型, AF_INET -> ipv4,  AF_INET6 -> ipv6 
type: 传输协议的类型, SOCK_STREAM -> TCP,   SOCK_DGRAM -> UDP
"""
server = socket.socket()

# 2.绑定IP地址和端口
"""
ip用来区分互联网上设备
端口是用来区分一台计算上的不同的服务(应用),值是0-65535,其中0-1024是著名端口。其他的随便选


bind((ip地址,端口号))
"""
server.bind(('10.7.190.127', 8081))

# 3.启动服务器(监听请求)
"""
listen(数量)    -  这儿的数量指的是一次性能够处理的最大请求数
"""
server.listen(255)


# 4.让服务器一直处于运行状态
while True:
    print('开始监听....')
    # 5.等待客户端的请求
    # 程序运行到这个地方,会停下来,等到有客户端来连接服务器,才会接着往后执行
    connect, addr = server.accept()
    print(connect, addr)

    # 6.发送消息
    """
    send(数据)     -  发送数据,数据是二进制数据
    """
    message = input('>>>')
    connect.send(message.encode(encoding='utf-8'))

    # 7.接收消息
    """
    recv(字节数)   - 接收数据,并且指定一次性接收的数据的大小的最大值;返回接收到的二进制数据
    """
    # 程序运行到这个地方会停下来,直到客户端给服务器发送消息,才会接着执行
    data = connect.recv(1024)
    print('<<<:')
    print(data.decode(encoding='utf-8'))

    # 8.关闭连接
    connect.close()

t1 = threading.Thread(target=download, args=('大国崛起',))
t2 = threading.Thread(target=download, args=('霸王别姬',))

2.让线程开始执行任务

"""
线程对象.start() - 开始执行子线程中的任务
"""
t1.start()
t2.start()
download('变形金刚')
print('=======')

某个线程出现异常,是线程直接结束;进程不一定结束,所有的线程都结束,进程才会结束

print([1, 2][10])
print('+++++++++++')

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.耗时操作一个进程默认有一个线程,这个线程叫主线程。默认情况下,所有的代码都是在主线程中执行的 time.sle...
    学python的铁头娃阅读 156评论 0 0
  • 线程 操作系统线程理论 线程概念的引入背景 进程 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有...
    go以恒阅读 1,676评论 0 6
  • 一文读懂Python多线程 1、线程和进程 计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运...
    星丶雲阅读 1,481评论 0 4
  • 环境 xubuntu anaconda pycharm python https://www.cnblogs.co...
    Ericoool阅读 1,922评论 0 0
  • 一、线程介绍 1.1、线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最...
    IIronMan阅读 1,343评论 0 2