python 单线程_python的单线程多任务的实现
这篇文章主要为大家详细介绍了python实现单线程多任务非阻塞TCP服务端的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了python实现单线程多任务非阻塞TCP服务端的具体代码,供大家参考,具体内容如下
# coding:utf-8
from socket import *
# 1.创建服务器socket
sock = socket(AF_INET, SOCK_STREAM)
# 2.绑定主机和端口
addr = ('', 7788) #
sock.bind(addr)
# 3. 设置最大监听数目,并发
sock.listen(10)
# 4. 设置成非阻塞
sock.setblocking(False)
# 保存客户端socket
clientAddrList = []
# print(sock.)
while 1:
try:
clientSocket, clientAddr = sock.accept()
except:
pass
else:
print("一个新客户端到来:%s" % str(clientAddr))
clientSocket.setblocking(False)
clientAddrList.append((clientSocket, clientAddr))
for clientSocket, clientAddr in clientAddrList:
try:
recvData = clientSocket.recv(1024)
except:
pass
else:
if len(recvData) > 0:
print("%s:%s" % (str(clientAddr), recvData))
else:
clientSocket.close()
clientAddrList.remove((clientSocket, clientAddr))
print("%s 已经下线" % str(clientAddr))
python 单线程_python的单线程多任务的实现相关推荐
- Python|并发编程|爬虫|单线程|多线程|异步I/O|360图片|Selenium及JavaScript|Scrapy框架|BOM 和 DOM 操作简介|语言基础50课:学习(12)
文章目录 系列目录 原项目地址 第37课:并发编程在爬虫中的应用 单线程版本 多线程版本 异步I/O版本 总结 第38课:抓取网页动态内容 Selenium 介绍 使用Selenium 加载页面 查找 ...
- python画代码-Python教程_Python画Mandelbrot集 代码
Python教程_Python画Mandelbrot集 代码 作者:Comet 来源: 课课家 www.kokojia.com点击数:278发布时间:2015-06-19 11:17:19 曼德勃罗集 ...
- c语言实现爬虫功能,用C/C 扩展Python语言_python 调用c语言 python实现简单爬虫功能_python实现简单爬虫...
用C/C 扩展Python语言 Python是一门功能强大的脚本语言,它的强大不仅表现在功能上,还表现在其扩展性上.她提供大量的API以方便程序员利用C/C++对Python进行扩展.因为执行速度慢几 ...
- python 线程_python 线程
一.什么是线程 线程(英语:thread)是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线 ...
- python编程语言_python编程语言的简要历史
python编程语言 The Python programming language is a general-purpose programming language that has carved ...
- 2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?
2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?编程界的王者是渐落寞的Java还是大火的Python? 是不是你们也喜 ...
- pythontcp服务器如何关闭阻塞_python实现单线程多任务非阻塞TCP服务端
本文实例为大家分享了python实现单线程多任务非阻塞TCP服务端的具体代码,供大家参考,具体内容如下 # coding:utf-8 from socket import * # 1.创建服务器soc ...
- python是多线程还是单线程_Python单线程与多线程
最近一直在学习爬虫的相关知识,目前学习到了单线程.多线程这一块,把自己的学习经历分享出来顺便也做个笔记. 一.单线程操作 单线程操作就是我们日常写代码时的操作,为了比较出和多线程的区别,以下为其对比. ...
- python重复执行函数_Python threading 单线程 timer重复调用函数
项目中需要使用定时器,每次都使用构造器函数调用: timer = threading.Timer(timerFlag, upload_position) timer.start() 打印线程后发现,每 ...
最新文章
- 2021年大数据Hadoop(三):Hadoop国内外应用
- Webpack 4 学习09(打包生成html)
- 科达正式发布PPP业务支持计划
- luogu P5292 [HNOI2019]校园旅行
- netbeans卸载 linux,NetBeans_6.1自己使用。(linux-ubuntu下)
- LINUX 数据盘的格式化与挂载
- 查看linux文件系统结构,linux的文件系统架构
- 1099. Build A Binary Search Tree (30)
- 001 python接口 get请求
- 几个移动端直播SDK开源地址
- 计算机毕业设计之校园二手交易平台
- 干货】最详细、最完美、可以上下左右移动的表格布局,仿同花顺自选列表,老虎证券财报列表,欢迎 Start、Fork
- 什么是布控球,作用是什么?
- 消息队列及短信发送平台
- Spring Cloud项目是如何读取bootstrap.properties文件的?
- 高防服务器有哪些优势
- 对一个整形数组进行顺序排列
- 天然气压缩因子计算软件_媒体看陕鼓陕鼓天然气长输管线压缩机组投运
- 正则匹配空字符串 /(^\s)/
- 腾讯云轻量服务器在线安装MySQL