socketserver 服务端,实现并发

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)







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值