serve.py
#!/usr/bin/python
# -*- coding:utf-8 -*-
"""
@author: ‘FMspider‘
@time: 2018-5-2 7:46
@function: 服务端,实现并发
"""
import socketserver
class MyServer(socketserver.BaseRequestHandler):
def handle(self):
conn = self.request
print(self.client_address)
while True:
client_data = conn.recv(1024)
print(str(client_data,'utf8'))
print('waiting...')
inp = input('>>>')
data = bytes(inp,'utf8')
conn.sendall(data)
conn.close()
if __name__ == '__main__':
server = socketserver.ThreadingTCPServer(('127.0.0.1',8000), MyServer)
server.serve_forever()
client.py
#!/usr/bin/python
# -*- coding:utf-8 -*-
"""
@author: ‘FMspider‘
@time: 2018-5-2 7:46
@function: 客户端
"""
import socket
# 创建实例
sk = socket.socket()
# 绑定要连接的服务端地址
address = ('127.0.0.1', 8000)
sk.connect(address)
while 1:
#输入并发送数据
inp = input('>>>')
if inp == 'q': # 退出条件判断
break
sk.send(bytes(inp, 'utf8')) # 一发
#接收数据并打印
data = sk.recv(1024) # 一收
print(str(data,'utf8'))
sk.close() # 关闭接连
########################################################################################
GIL问题
# !/usr/bin/python
# -*- coding:utf-8 -*-
# ++++++++++++++++++++
# author: FMspider
# time: 2018-5-2 22:24
# function:
import threading
import time
begin = time.time()
def add(n):
sum = 0
for i in range(n):
sum += i
print(sum)
add(30000000)
add(50000000)
# t1 = threading.Thread(target=add, args=(30000000,))
# t2 = threading.Thread(target=add, args=(50000000,))
#
# t1.start()
# t2.start()
#
# t1.join()
# t2.join()
end = time.time()
print(end - begin)