摘要: 实验发现不涉及IO输入的多线程,串行运行在老的(新解释器缩短差距)解释器有时候比多线程快,这是什么原因? GIL:全局解释锁(这玩意跟python语言无关,跟解释种类有关,只对CPython解释器有用,但是这种站主导市场) 因为有GIL,所以同一时刻,只有一个线程被一个CPU执行 多核对于Pytho 阅读全文
posted @ 2018-08-26 19:52 maxiaonong 阅读(260) 评论(0) 推荐(0)
摘要: 上面一个随笔已经简单介绍了多线程,比如下面在举个简单的例子: 1 #!/usr/bin/env python 2 #-*-coding:utf-8 -*- 3 4 import threading 5 import time 6 7 def add(): 8 sum = 0 9 10 for i i 阅读全文
posted @ 2018-08-26 19:43 maxiaonong 阅读(635) 评论(0) 推荐(0)
摘要: 1 import threading 2 import time 3 4 def music(): 5 print("begin to listen %s"%time.ctime()) 6 time.sleep(3) 7 print("stop listening %s" % time.ctime( 阅读全文
posted @ 2018-08-19 10:41 maxiaonong 阅读(160) 评论(0) 推荐(0)
摘要: 首先对于这样的任务要建立文件目录,不能将所有的代码放在一个文件夹下。文件目录,先两个大目录,客户端FTP_client,服务端FTP_server。 服务端FTP_server下面肯定还要文件夹bin(放启动文件),conf(放配置文件,方便后续修改),core(放主逻辑,主程序),home,log 阅读全文
posted @ 2018-08-19 10:31 maxiaonong 阅读(709) 评论(0) 推荐(0)
摘要: 简单的NTP服务器就是我发询问,你回复时间,服务端与客户端代码如下: 1 from socket import * 2 import time 3 4 ip_duan = ('127.0.0.1', 8000) 5 buff = 1024 6 7 udp_server = socket(AF_INE 阅读全文
posted @ 2018-08-19 09:52 maxiaonong 阅读(628) 评论(0) 推荐(0)
摘要: 客户端/服务端大致分为两套,一套是TCP,一套是UDP。先看udp,tcp协议建立连接是要先发起链接的,而UDP没有链接,所以写的简单点。 下面是UDP的服务端: 1 from socket import * 2 3 ip_duan = ('127.0.0.1', 8000) 4 buff = 10 阅读全文
posted @ 2018-08-18 19:30 maxiaonong 阅读(662) 评论(0) 推荐(0)
摘要: '''异常处理:防止程序的崩溃,其实用好多if分支判断,也可以实现异常处理,不过比较麻烦,而且文件的可读性变差格式如下:一般格式:try: 被检测的代码快except 异常类型 (as e): # 相当于if的多分支 异常处理except 异常类型 (as e): 异常处理 异常类型有多种,万能异常 阅读全文
posted @ 2018-08-18 18:58 maxiaonong 阅读(146) 评论(0) 推荐(0)
摘要: 1 import socket 2 3 phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 4 5 phone.connect(('127.0.0.1',8000)) # 拨电话 , IP只能绑定自己电脑上的IP 6 7 # 必须二进制 阅读全文
posted @ 2018-08-18 18:56 maxiaonong 阅读(4629) 评论(0) 推荐(0)
摘要: 先说函数的装饰器,如下: 1 def zhuang(func): 2 print(" ") 3 return func # 高阶函数 4 5 6 @zhuang # 相当于是test = zhuang(test) 7 def test(): 8 print(" ") 9 10 test() 其实所有 阅读全文
posted @ 2018-08-18 18:50 maxiaonong 阅读(695) 评论(0) 推荐(0)
摘要: 一般对于文件,二逼青年是先open再处理,结束后close;文艺青年则with open (文件名) as f:一顿操作 下面是简单文件操作,将文件1.text中的一些内容修改: 1 import os 2 3 # 改文件,将所有'a'改成1,'s'改成2 4 with open('1.text', 阅读全文
posted @ 2018-08-18 18:39 maxiaonong 阅读(126) 评论(0) 推荐(0)