随笔分类 -  socket

摘要:一、简介 RPC是Remote Procedure Call的缩写,翻译成中文为:远程方法调用。 它是一种在本地机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为了提高各个分立机器的“互操作性”而发明出来的技术。 XML-RPC的全称是XML Remote Pro 阅读全文
posted @ 2022-06-10 15:10 萤huo虫 阅读(531) 评论(0) 推荐(0)
摘要:用法都一样 区别: self.request TCP self.requsst 代表具体的链接 UDP self.requst 代表一个小元组(元组里面: 第一个元素 客户端发来的数据 ,第二个元素 回复客户端的套接字对象) 基于UDP: import socketserver from threa 阅读全文
posted @ 2018-11-15 19:57 萤huo虫 阅读(177) 评论(0) 推荐(0)
摘要:import asyncio asyncio.coroutine() from concurrent.futures import ThreadPoolExecutor def task(): print("read start") with open(r"D:\python视频存放目录\上海pyt 阅读全文
posted @ 2018-11-14 17:09 萤huo虫 阅读(99) 评论(0) 推荐(0)
摘要:实例一: 只能在waitdata 阶段找到IO的解决方案 from concurrent.futures import ThreadPoolExecutor import socket server = socket.socket() # 重用端口 server.setsockopt(socket. 阅读全文
posted @ 2018-11-14 17:04 萤huo虫 阅读(132) 评论(0) 推荐(0)
摘要:# from concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor # import requests # import os # import time # import random # # def get(url): 阅读全文
posted @ 2018-11-13 19:54 萤huo虫 阅读(220) 评论(0) 推荐(0)
摘要:from threading import Thread,current_thread import time def task(): print('%s is running' %current_thread().name) time.sleep(3) print('%s is done' %cu 阅读全文
posted @ 2018-11-13 19:32 萤huo虫 阅读(171) 评论(0) 推荐(0)
摘要:锁: from threading import Thread,Lock # 创建一个互斥锁 mutex = Lock() def task1(): # 锁定 mutex.acquire() for i in range(100): print(" ") # 打开 mutex.release() d 阅读全文
posted @ 2018-11-09 19:51 萤huo虫 阅读(333) 评论(0) 推荐(0)
摘要:线程理论: 线程 VS 进程: 线程 和进程的区别 进程是一个资源单位 一个进程可以包含多个线程 多个线程之间数据可以共享 线程开销比进程小 在多线程中CPU的切换速度会非常快 但资源消耗没有进程高怎样开启线程: 守护线程: 常用方法: 启动线程的另一种方式: 阅读全文
posted @ 2018-11-09 19:43 萤huo虫 阅读(203) 评论(0) 推荐(0)
摘要:守护进程 守护 就是看着 陪着 在代码中 进程只能由进程类守护 一个进程守护者另一个进程 指的是两个进程之间的关联关系 特点:守护进程(妃子) 在被守护进程(皇帝)死亡时 会跟随被守护进程死亡 守护进程能不能先死? # 安卓系统中有大量的守护进程 负责维护连接 from multi... 阅读全文
posted @ 2018-11-08 21:55 萤huo虫 阅读(79) 评论(0) 推荐(0)
摘要:""" IPC 指的是进程间通讯 之所以开启子进程 肯定需要它帮我们完成任务 很多情况下 需要将数据返回给父进程 然而 进程内存是物理隔离的 解决方案: 1.将共享数据放到文件中 就是慢 2.管道 subprocess中的那个 管道只能单向通讯 必须存在父子关系 3.共享一块内存区域 得操作系统帮你分配 速度... 阅读全文
posted @ 2018-11-08 21:49 萤huo虫 阅读(173) 评论(0) 推荐(0)
摘要:""" 抢票! 多个用户在同时读写同一个数据 """ from multiprocessing import Process,Lock import json,time,random # 查看余票 def show_ticket(name): time.sleep(random.randint(1,3)) with open(r"ticket.json","... 阅读全文
posted @ 2018-11-08 21:46 萤huo虫 阅读(239) 评论(0) 推荐(0)
摘要:结果: 由于数量庞大就不全部写出来了大概就是 : 先 打印 " " 再打印 " " 最后打印" " 阅读全文
posted @ 2018-11-08 21:44 萤huo虫 阅读(140) 评论(0) 推荐(0)
摘要:假如端口被socket使用过,并且利用socket.close()来关闭连接,但此时端口还没有释放,要经过一个TIME_WAIT的过程之后才能使用,这是TNN的相当烦银的,为了实现端口的马上复用,可以选择setsockopt()函数来达到目的。(以下是网上找到的一篇文章的一小段相关例子,试用之后,相 阅读全文
posted @ 2018-11-07 22:43 萤huo虫 阅读(699) 评论(0) 推荐(0)
摘要:僵尸进程:会占用系统进程PID号(每个系统PID数量都是有限的) 一个进程任务执行完就死亡了 但是操作系统不会立即将其清理 为的是 开启这个子进程的父进程可以访问到这个子进程的信息 这样的 任务完成的 但是没有被操作系统清理的进程称为僵尸进程 越少越好孤儿进程 无害! 没有爹的称为孤儿 一个父进程已 阅读全文
posted @ 2018-11-07 20:41 萤huo虫 阅读(150) 评论(0) 推荐(0)
摘要:from multiprocessing import Process import time def task(name): print("start",name) time.sleep(5) print("stop",name) if __name__ == '__main__': p = Process(target=task,args=("jerr... 阅读全文
posted @ 2018-11-07 20:37 萤huo虫 阅读(173) 评论(0) 推荐(0)
摘要:from multiprocessing import Process import time def task(name): print("%s start" % name) time.sleep(3) print("%s stop" % name) if __name__ == '__main__': p = Process(target=task,a... 阅读全文
posted @ 2018-11-07 20:28 萤huo虫 阅读(609) 评论(0) 推荐(1)
摘要:重点: join()让父进程在原地等待。 阅读全文
posted @ 2018-11-07 20:24 萤huo虫 阅读(738) 评论(0) 推荐(0)
摘要:#子进程 和 父进程 的名称空间时相对独立的! # x = 1000 # def task(): # time.sleep(3) # global x # x = 123 # print('哈哈哈') # # if __name__ == '__main__': # print(x) # p = Process(target=task) # ... 阅读全文
posted @ 2018-11-07 20:12 萤huo虫 阅读(339) 评论(0) 推荐(0)
摘要:#方式一: 常用 from multiprocessing import Process import time def task(name): print('%s is running' %name) time.sleep(3) print('%s is done' %name) if __name__ == '__main__': # 在windows系... 阅读全文
posted @ 2018-11-07 20:10 萤huo虫 阅读(295) 评论(0) 推荐(0)