ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Python Socket网络编程(3)

Python Socket网络编程(3)

class类里面先执行__new__,然后__init__

单例模式
image

线程安全单例模式

点击查看代码
import threadingclass Singleton:instance = Nonelock = threading.Rlock()def __new__(cls, *args, **kwargs):if cls.instance:return cls.instancewith cls.lock:if cls.instance:return cls.instancetime.sleep(0.1)cls.instance = object.__new__(cls)return cls.instance

进程
image
windows spawn
fork:拷贝几乎所有资源
spawn:传输必备资源,参数需要手动

daemon,join等等类似线程
获取进程id
os.getpid()
获取父进程id
os.getppid()

自定义进程类,继承multiprocessing.Process

进程之间的
数据共享
value array
Manager
Queues(队列)
Pipes(管道)
以上是Python内部提供的
后期项目中一般会借助第三方资源做资源共享
redis
Mysql

进程锁多进程共享资源的情况下
进程锁可以在spawn下传子进程

进程池
类似线程池
image
回调和线程池不一样,回调由主进程执行,进程池锁用manager下的

返回列表