pythonNet day04

本地套接字

作用:用于本地不同程序间的进行数据传输

本地套接字的创建流程

1、创建套接字对象

  sockfd = socket(AF_UNIX,SOCK_STREAM)

2、绑定本地套接字文件,如果文件不存在,则自动创建文件(绑定套接字文件)

  sockfd.bind(file)

  判断一个文件夹下是否有某个文件  os.path.exists('./tcp_client.py')

  删除一个文件  os.remove(file)  os.remove(file)

3、监听  listen

4、接收发送消息  recv  send

 1 from socket import * 
 2 import os 
 3 
 4 sock_file =  './sock'    # 使用哪个文件作为套接字文件
 5 
 6 if os.path.exists(sock_file):# 判断文件是否已经存在
 7     os.unlink(sock_file)
 8 
 9 sockfd = socket(AF_UNIX,SOCK_STREAM)    # 创建本地套接字
10 
11 sockfd.bind(sock_file)    # 绑定
12 sockfd.listen(5)    # 监听
13 
14 while True:
15     c,addr = sockfd.accept()     # 建立连接
16     while True:
17         data = c.recv(1024)
18         if not data:
19             break
20         print(data.decode())
21     c.close()
22 sockfd.close()
服务端
 1 from socket import * 
 2 
 3 sock_file = "./sock"    # 确保通信两端用相同的套接字文件
 4 
 5 sockfd = socket(AF_UNIX,SOCK_STREAM)    # 创建套接字
 6 
 7 sockfd.connect(sock_file)    # 链接
 8 
 9 while True:
10     msg = input("Msg>>")
11     if msg:
12         sockfd.send(msg.encode())
13     else:
14         break 
15 
16 sockfd.close()
客户端

多任务编程

意义:充分利用计算机的资源提高程序的运行效率

定义:通过应用程序利用计算机多个核心,达到同时执行多个任务的目的

实施方案: 多进程、多线程

并行:多个计算机核心在同时处理多个任务,多个任务之间是并行关系

并发:计算机同时处理多个任务,内核在多个任务间不断切换切换,达到好像在同时处理的运行效果。此时多个任务实际为并发关系

进程:程序在计算机中运行一次的过程

程序:是一个可执行文件,是静态的,占有磁盘,不占有计算机运行资源

进程:进程是一个动态的过程描述,占有CPU内存等计算机资源的,有一定的生命周期

* 同一个程序的不同执行过程是不同的进程,因为分配的计算机资源等均不同

进程的创建过程

1、用户启动一个程序或者进程创建,发起进程创建

2、操作系统接收用户请求,分配计算机资源,创建进程

3、操作系统分配进程资源给用户使用,分配资源

4、用户利用操作系统提供的进程完成任务  利用资源完成任务

CPU时间片:如果一个进程占有计算机核心,我们称为该进程在CPU时间片上。多个任务实际对CPU会进行争夺,一般由操作系统分配CPU时间片

PCB进程控制块:在操作系统中,进程创建后会自动产生一个空间存放进程消息,称为进程控制块

进程信息:进程PID,进程占有的内存位置,创建进程,用户。。。。。。

进程PID:进程在操作系统中的唯一编号,大于0整数,由系统自动分配

进程信息查看命令:  ps -aux

猜你喜欢

转载自www.cnblogs.com/LXP-Never/p/9448064.html