zoukankan      html  css  js  c++  java
  • 多线程并发练习(Day35)

    练习一

    #_*_coding:utf-8_*_
    #!/usr/bin/env python
    import multiprocessing
    import threading
    
    import socket
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.bind(('127.0.0.1',8080))
    s.listen(5)
    
    def action(conn):
        while True:
            data=conn.recv(1024)
            print(data)
            conn.send(data.upper())
    
    if __name__ == '__main__':
    
        while True:
            conn,addr=s.accept()
    
    
            p=threading.Thread(target=action,args=(conn,))
            p.start()
    
    多线程并发的socket服务端
    多线程并发的socket服务端
    #_*_coding:utf-8_*_
    #!/usr/bin/env python
    
    
    import socket
    
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.connect(('127.0.0.1',8080))
    
    while True:
        msg=input('>>: ').strip()
        if not msg:continue
    
        s.send(msg.encode('utf-8'))
        data=s.recv(1024)
        print(data)
    
    客户端
    客户端

    练习二:

    三个任务,一个是接收用户输入,一个将用户输入的内容格式化成大写,一个将格式化后的结果存入文件

     1 from threading import Thread
     2 msg_l=[]
     3 format_l=[]
     4 def talk():
     5     while True:
     6         msg=input('>>: ').strip()
     7         if not msg:continue
     8         msg_l.append(msg)
     9 
    10 def format_msg():
    11     while True:
    12         if msg_l:
    13             res=msg_l.pop()
    14             format_l.append(res.upper())
    15 
    16 def save():
    17     while True:
    18         if format_l:
    19             with open('db.txt','a',encoding='utf-8') as f:
    20                 res=format_l.pop()
    21                 f.write('%s
    ' %res)
    22 
    23 if __name__ == '__main__':
    24     t1=Thread(target=talk)
    25     t2=Thread(target=format_msg)
    26     t3=Thread(target=save)
    27     t1.start()
    28     t2.start()
    29     t3.start()
    有一种能力,是持续不断的努力
  • 相关阅读:
    动态规划____类数字三角形
    动态规划____编辑距离
    123
    pair queue____多源图广搜
    JAVA练习01
    leetcode — binary-tree-maximum-path-sum
    leetcode — best-time-to-buy-and-sell-stock-iii
    leetcode — best-time-to-buy-and-sell-stock-ii
    leetcode — best-time-to-buy-and-sell-stock
    leetcode — triangle
  • 原文地址:https://www.cnblogs.com/shaojiafeng/p/7453465.html
Copyright © 2011-2022 走看看