玩转网络-多线程-3

简单学习threading标准库

举个例子,打印 输出5个 cheer

#coding:utf-8
from threading import Thread
#导入多线程模块
from time import sleep
#导入时间模块(原因是多线程模块有时候因太快,而来个时间模块会使多线程不会乱掉)

def ThreadHandle()			#定义一个多线程函数
	print 'cheer'

if __name__ =='__main__':		#可以不用定义主函数,作用是调用模块不执行下面内容
	for i in range(5)					#for循环1-5赋值给i,range(5)是一个数组
		t = Thread(target=ThreadHandle)		#创建多线程对象(for循环5次则会创建5次多线程对象,target=要执行函数的名称)
		sleep(0.1)
		t.start()		#启动线程

使用多线程ping百度50次

#coding:utf-8
from threading import Thread
from time import sleep
from os import system
from time import time
#导入模块
def ThreadHandle():
	sysytem(‘ping www.baidu.com’)		#ping百度
	now2 = time()
	time1 = now2-now1
if __name__=='__main__':	
	now1 = time()
	for i in range(50):			#循环1-50
		t = Thread(target=ThreadHandle)		#创建主线程
		sleep(0.1)		#表示线程挂起时间
		t.start()			#开启线程
#从时间结果

多线程传入参数,并输出

#coding:utf-8
from threading import Thread
from time import sleep

def ThreadHandle(name):			#定义函数(参数为name)
    print 'Your name is ',name		#打印

if __name__=='__main__':			#定义主函数(标准格式)
    for i in range(10):						#for循环
        t = Thread(target=ThreadHandle,args=('my blog',))		#定义多线程参数是要执行的函数,和传入的参数(只有一个参数要有逗号才是元组)
        sleep(0.1)
        t.start()		#启动线程

实现多线程Server
扩展前面前面的python的功能
可以使多个客户端进行交互

from socket import *
from os  import *
from threadming import Thread
#导入模块

def ThreadHand():			#定义主函数实现多线程Server
	cmd = sock.recv(1024)		#接收客户端的内容
	if cmd =='exit':					#判断是不是exit
		sock.close()				
		break
	result = popen(cmd).read()		
	sock.send(result)

s=socket(AF_INET,SOCK_STREAM)			#创立套接字
s.bind('',6666)		#绑定主机端口
s.listen
while True:
	sock,addr = s.accept()
	print 'Connected by ',addr
#接收两个返回一个socket,一个是连接的地址和端口
	t = Thread(target=ThreadHandle,arge(sock,))		#创立多线程,传入sock参数
	t.start()

笔记来自:
i春秋暴走python

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值