python__系统 : 异步实现以及GIL】的更多相关文章

创建进程的方式中有个 callback ,也就是回调. 看代码: from multiprocessing import Pool import time import os def test(): print('--进程池里的进程---pid:%d,ppid:%d--' %(os.getpid(), os.getpid())) ): print('-----%d---' %i) time.sleep() return 'haha' def test2(args): print('----cal…
线程之间,全局变量可以共享,但是局部变量依然是不共享的,线程的创建方式: threading.Thread(),还可以定义一个类继承Thread,重写他的run方法,具体和进程的写法一样. 那么,线程之前全局变量共享,如果两个线程同时修改一个全局变量,就会有一些麻烦,所以需要用到互斥锁: from threading import Thread, Lock import time g_num = def test1(): global g_num mutex.acquire() <-------…
在类unix操作系统下,可以用 os.fork() 创建一个新的进程,windows系统不可以: import os ret = os.fork() print('ret=%d' % ret) : print('这是子进程:%d,继承自:%d' % (os.getpid(), os.getppid())) else: print('这是父进程:%d' % os.getpid()) >>>ret=0 这是子进程:,继承自: ret=1537 这是父进程: 在执行了 os.fork() 这一…
TCP 三次握手: SYN  -->  SYN+ACK  -->  ACK 四次挥手:  FIN --> ACK (FIN)  --> ACK TCP十种状态: LISTEN  SYN_SENT  SYN_RECV  ESTABLISHED  FIN_WAIT1 FIN_WAIT2  CLOSE_WAIT  LAST_ACK  TIME_WAIT  CLOSED MSL: 报文最大生存时间 4次握手完成连接的关闭,主动关闭连接一方在第3次握手完成后发送了第四次握手的ACK包后就进入…
tcp和udp对比起来.还是tcp相对稳定一些,但是因为有三次挥手和四次握手,以及确认包(ack)的存在,可能在速度上会比udp慢. 用python的socket模块可以建立tcp服务端: from socket import * import struct, time, os # 建立套接字, 绑定, 监听, 接收 server_socket = socket(AF_INET, SOCK_STREAM) # tcp 是 stream udp是 dgram server_socket.bind(…
socket.socket() 可以创建一个套接字: from socket import * from threading import Thread udp_socket = None dest_ip = '' dest_port = def recvData(): while True: recv_info = udp_socket.recvfrom() #接收包最大字节1024 print(]), recv_info[].decode('GBK')) ) print('<< ') de…
参考文档: https://www.jianshu.com/p/b9b3d66aa0be 使用  ThreadPoolExecutor  类,  as_completed 是迭代器, 如果有任务执行完成有返回值, 则触发as_completed 的迭代. #!/usr/bin/env python # -*- coding: utf-8 -*- from concurrent.futures import ThreadPoolExecutor, as_completed import time…
分布式消息系统作为实现分布式系统可扩展.可伸缩性的关键组件,需要具有高吞吐量.高可用等特点.而谈到消息系统的设计,就回避不了两个问题: 消息的顺序问题 消息的重复问题 RocketMQ作为阿里开源的一款高性能.高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ 有哪些关键特性?其实现原理是怎样的? 关键特性以及其实现原理 一.顺序消息 消息有序指的是一类消息消费时,能按照发送的顺序来消费.例如:一个订单产生了 3 条消息,分别是订单创建.订单付款.订单完成.消费时,要按照这个顺序…
一.手写异步加载框架MyAsycnTask(核心原理) 1.我为大家手写了一个异步加载框架,涵盖了异步加载框架核心原理. MyAsycnTask.java import android.os.Handler; public abstract class MyAsycnTask { private Handler handler = new Handler(){ public void handleMessage(android.os.Message msg) { postTask(); }; }…
add by zhj:先收藏了 摘要:评论系统是所有门户网站的核心标准服务组件之一.本文作者曾负责新浪网评论系统多年,这套系统不仅服务于门户新闻业务,还包括调查.投票等产品,经历了从单机到多机再到集群,从简单到复杂再回归简单的过程. 评论系统,或者称为跟帖.留言板,是所有门户网站的核心标准服务组件之一.与论坛.博客等其他互联网UGC系统相比,评论系统虽然从产品功能角度衡量相对简单,但因为需要能够在突发热点新闻事件时,在没有任何预警和准备的前提下支撑住短短几分钟内上百倍甚至更高的访问量暴涨,而评论…