日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python: Socket网络编程,多线程处理小Demo

發(fā)布時間:2024/9/5 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python: Socket网络编程,多线程处理小Demo 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一個簡單的例子,深入研究一下socket的多線程處理任務

?

Server端:

#!/usr/bin/env python #encoding:utf8 # # 注意:定義encoding時必須在第二行import socket import Queue import threading from time import sleephost = "127.0.0.1" port = 60283 timeWait = 3 #定義每個線程處理任務時需要的時間,模擬處理任務 ThreadNum = 10 #定義創(chuàng)建的線程 cache = Queue.Queue(maxsize=1000) #定義一個隊列# 處理任務的類 class Server(threading.Thread):def __init__(self, cache, ThreadName):threading.Thread.__init__(self)self.name = ThreadNameself.cache = cachedef run(self):while True:if not cache.empty(): #判斷隊列是否為空conn, addr = cache.get()data = conn.recv(1024)conn.sendall('success')print 'cacheData: ' + data + '; ThreadName: ' + self.name + '; cacheSize: ' + str(self.cache.qsize())sleep(timeWait)for i in range(ThreadNum):s = Server(cache, str(i))s.setDaemon(True) #設置為守護模式,當主線程退出時,子線程立即退出 s.start()# 創(chuàng)建Socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 綁定socket s.bind((host, port)) # 設置系統最大等待隊列,當連接過多時,系統緩存中可以緩存多少連接,不宜設置過大,消耗內存和cpu s.listen(5)while True:# 循環(huán)接受,當接受到連接時,把連接放入隊列中,由線程獲取后執(zhí)行conn, addr = s.accept()cache.put((conn, addr))conn.close()

?

Client端:

#!/usr/bin/env python # import socket from time import sleep from threading import Threadhost = "127.0.0.1" port = 60283 num = 100def sirec(s, n):s.sendall('sn:' + str(i))data = s.recv(1024)s.close()for i in range(1, 100):s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect((host, port))t = Thread(target=sirec, args=(s, 1))#t.setDaemon(True) t.start()print 'run over'

?

關于隊列Queue的使用:

q.qsize() 返回隊列的大小 q.empty() 如果隊列為空,返回True,反之False q.full() 如果隊列滿了,返回True,反之False q.full 與 maxsize 大小對應 q.get([block[, timeout]]) 獲取隊列,timeout等待時間 q.get_nowait() 相當q.get(False) 非阻塞 q.put(item) 寫入隊列,timeout等待時間 q.put_nowait(item) 相當q.put(item, False) q.task_done() 在完成一項工作之后,q.task_done() 函數向任務已經完成的隊列發(fā)送一個信號 q.join() 實際上意味著等到隊列為空,再執(zhí)行別的操作

?

轉載于:https://www.cnblogs.com/djoker/p/8267547.html

總結

以上是生活随笔為你收集整理的Python: Socket网络编程,多线程处理小Demo的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99免费精品视频 | 高清福利视频 | 一区二区三区在线不卡 | 99视频这里有精品 | 波多野吉衣在线视频 | 摸一摸操一操 | 艳母动漫在线播放 | 很黄很黄的网站 | 超碰伦理| 一区二区三区美女 | 日韩国产二区 | 日本在线播放视频 | 亚洲熟女www一区二区三区 | 国产美女一级片 | 黄色图片小说 | 综合在线播放 | 国模私拍在线 | 中文字幕一区二区久久人妻 | jizzjizz8| 99久久久国产精品无码网爆 | 91视频看片 | av不卡高清 | 男女猛烈无遮挡免费视频 | 激情图片网站 | 亚洲成熟毛多妇女av毛片 | 男人的天堂aa | 欧美日韩国产精品一区二区 | 欧美日韩中文视频 | 婷婷四房播播 | 日韩欧美中文字幕在线视频 | 性欧美videos另类艳妇3d | 色哟哟无码精品一区二区三区 | 伊人成人22 | 欧美成人高清 | 国产精品亚洲一区二区 | 色www亚洲国产阿娇yao | 男人日女人的网站 | 青青草偷拍视频 | 性做久久久久久久免费看 | 午夜剧场在线 | 亚洲一区二区三区网站 | 久草黄色 | 国产黄视频在线观看 | av免费大片 | 在线观看黄色av网站 | 国模无码视频一区二区三区 | 人妻少妇偷人精品无码 | 国产成人精品一区二区在线观看 | 91狠狠干| 红桃av在线 | 无码av天堂一区二区三区 | 国产盗摄视频在线观看 | 久久夜色精品国产噜噜亚洲av | 日韩123 | 免费看黄色的视频 | 日韩视频在线观看 | 探花国产| av片大全 | 性av网站| 亚洲福利在线播放 | 午夜免费| 黄色av网站网址 | 激情久久网站 | 一级免费毛片 | 亚洲久久影院 | 欧美一级做性受免费大片免费 | 天天干天天干天天干天天 | 日本大胆裸体做爰视频 | 性――交――性――乱a | 亚洲天堂中文字幕在线 | 久久精精品久久久久噜噜 | 农村偷人一级超爽毛片 | 高清一区在线观看 | 新91视频在线观看 | 好大好爽视频 | 69**夜色精品国产69乱 | 九色porny自拍视频 | 青青青在线免费 | 18视频网站在线观看 | 农村少妇无套内谢粗又长 | 美女日批在线观看 | 国产精品区在线观看 | 啪啪导航 | 欧美日韩一区二区三区视频 | 欧美中出 | 国产精品va在线观看无码 | 精品亚洲aⅴ无码一区二区三区 | 亚洲视频999 | 亚洲成熟少妇 | 最新超碰在线 | 超碰老司机 | 少妇激情视频 | 成人免费在线视频观看 | 在线免费黄色 | 国产丝袜美腿一区二区三区 | 伊人青青草| 国产精品人 | 欧美激情视频网 | 强开小受嫩苞第一次免费视频 |