文章分类 - 网络编程
简述进程,线程,协程的关系
摘要:进程是计算机资源分配的最小单元,主要用来做数据隔离 线程是计算机工作的最小单元 一个应用程序里面又可以有多个进程,一个进程里面可以有多个线程 其他语言里面没有进程,使用的都是线程 在python里面,一般IO操作多的时候使用线程,计算密集型的话使用进程 因为存在GIL锁,GIL锁一般存在python
阅读全文
进程
摘要:Windows下,要把启动程序写在if __name__ == '__main__':里面执行 1,进程间的数据不共享 import multiprocessing import threading data_list = [] def task(arg): data_list.append(arg
阅读全文
生产者消费者模型
摘要:三部件: 生产者: 队列:先进先出 栈:后进先出 消费者 生产者消费者模型解决了什么问题: 解决了不用一直等待的问题 import time import queue import threading q = queue.Queue() #线程安全 def producer(id): ''' 生产者
阅读全文
python的GIL锁
摘要:python的GIL锁: 是python内置的一个全局解释器锁,锁的作用就是保证同一时刻只有一个线程被CPU调度 为什么有这把锁: python语言的创始人在开发这门语言时,目的是快速把语言开发出来,如果加上GIL锁(C语言加锁),切换时按照100条字节指令来进行线程间的切换 设置锁: 1,Lock
阅读全文
线程的使用
摘要:1,线程的基本使用 import threading print('666') def func(arg): print(arg) t = threading.Thread(target=func,args=(1,)) t.start() print('end') 2,主线程默认等子线程执行完毕 i
阅读全文
FTP--文件上传下载(多进程,黏包)
摘要:server端 import os import json import struct import socketserver class Myserver(socketserver.BaseRequestHandler): def handle(self): while True: file_in
阅读全文
网络编程初识--网络基础
摘要:import socket #创建一个服务端socket对象 server = socket.socket() #绑定ip和端口 server.bind(('192.168.13.104',8000)) #第一个参数是自己的IP地址,第二个参数是端口号 #后边可以等5个人 server.listen
阅读全文