“”“from threading import Thread,Lock
import time
g=0
def hs1():
global g
for i in range(100000):
l.acquire()
g+=1
l.release()
print(“函数1”,g)
def hs2():
global g
for i in range(100000):
l.acquire()
g+=1
l.release()
print(“函数2”,g)
if name == ‘main’:
l=Lock()
t1=Thread(target=hs1)
t2=Thread(target=hs2)
t1.start()
t2.start()”""
“”“from threading import Thread,Lock
import time
g=0
def hs1():
global g
l.acquire()
for i in range(100000):
g+=1
print(“函数1”,g)
l.release()
def hs2():
global g
l.acquire()
for i in range(100000):
g+=1
print(“函数2”,g)
l.release()
if name == ‘main’:
l=Lock()
t1=Thread(target=hs1)
t2=Thread(target=hs2)
t1.start()
t2.start()”""
“”“from threading import Thread,Lock
import time
g=0
def hs1():
global g
for i in range(100000):
lock1.acquire()
print(“锁1得到锁,请求锁2”)
time.sleep(1)
lock2.acquire()
print(“1111111111111111”)
g+=1
lock2.release()
lock1.release()
print(“函数1”,g)
def hs2():
global g
for i in range(100000):
lock2.acquire()
print(“锁2得到锁,请求锁1”)
time.sleep(1)
lock1.acquire()
print(“22222222222222222”)
g += 1
lock1.release()
lock2.release()
print(“函数2”, g)
if name == ‘main’:
lock1=Lock()
lock2=Lock()
t1=Thread(target=hs1)
t2=Thread(target=hs2)
t1.start()
t2.start()”""
“”“from threading import Thread,Lock
import time
g=0
def hs1():
global g
for i in range(100000):
lock1.acquire()
print(“锁1得到锁,请求锁2”)
time.sleep(1)
lock2.acquire()
print(“1111111111111111”)
g+=1
lock2.release()
lock1.release()
print(“函数1”,g)
def hs2():
global g
for i in range(100000):
lock1.acquire()
print(“锁2得到锁,请求锁1”)
time.sleep(1)
lock2.acquire()
print(“22222222222222222”)
g += 1
lock2.release()
lock1.release()
print(“函数2”, g)
if name == ‘main’:
lock1=Lock()
lock2=Lock()
t1=Thread(target=hs1)
t2=Thread(target=hs2)
t1.start()
t2.start()”""
“”“import queue
q=queue.Queue(3)
q.put(1)
q.put(2)
q.put(3)
print(“111111111”,q.full())
q.put(4)
print(“结束”)”""
“”“import queue
q=queue.Queue(3)
q.put(1)
q.put(2)
q.put(3)
while q.qsize()>0:
print(q.get())”""
“”“import queue
q=queue.PriorityQueue(5)
q.put((1,“a”))
q.put((8,“c”))
q.put((3,“d”))
q.put((0,“f”))
while q.qsize()>0:
print(q.get())”""
“”“import queue
q=queue.LifoQueue(4)
q.put(2)
q.put(1)
q.put(4)
q.put(5)
while q.qsize()>0:
print(q.get())”""
“”“from threading import Thread
import queue,time
def produce(q,name):
count=1
while True:
bz=name+“生产的包子%d”%count
q.put(bz)
print(bz)
time.sleep(1)
count+=1
def consum(q,name):
while True:
bz=q.get()
print(name,“吃”,bz)
if name == ‘main’:
q=queue.Queue(5)
t1=Thread(target=produce,args=(q,“张三”))
t2=Thread(target=consum,args=(q,“李四”))
t1.start()
t2.start()”""
“”“from threading import Thread
import queue,time
def produce(q,name):
count=1
while True:
bz=name+“生产的包子%d”%count
q.put(bz)
print(bz)
time.sleep(1)
count+=1
def consum(q,name):
while True:
bz=q.get()
print(name,“吃”,bz)
if name == ‘main’:
q=queue.Queue(5)
t1=Thread(target=produce,args=(q,“张三”))
t2=Thread(target=produce,args=(q,“李四”))
t3=Thread(target=consum,args=(q,“王五”))
t4=Thread(target=consum,args=(q,“赵六”))
t5=Thread(target=consum,args=(q,“宋七”))
t1.start()
t2.start()
t3.start()
t4.start()
t5.start()”""
“”“from threading import Thread
import time,threading
class A():
pass
def hanshu1(name):
A.name=name
for i in range(1000000):
pass
hanshu2()
def hanshu2():
print(threading.current_thread(),A.name)
if name == ‘main’:
t1=Thread(target=hanshu1,args=(“张三”,),name=“线程帅哥”)
t2=Thread(target=hanshu1,args=(“李四”,),name=“线程美女”)
t1.start()
t2.start()”""
“”“from threading import Thread
import time,threading
local=threading.local()
def hanshu1(name):
local.name=name
for i in range(100000):
pass
hanshu2()
def hanshu2():
print(threading.current_thread(),local.name)
if name == ‘main’:
t1=Thread(target=hanshu1,args=(“张三”,),name=“线程帅哥”)
t2=Thread(target=hanshu1,args=(“李四”,),name=“线程美女”)
t1.start()
t2.start()”""
“”“import threading,time
def hanshu():
s=time.time()
count=0
for i in range(200000000):
count+=1
e=time.time()
print(e-s)
if name == ‘main’:
t1=threading.Thread(target=hanshu)
t1.start()”""
“”“import threading,time
def hanshu():
s=time.time()
count=0
for i in range(100000000):
count+=1
e=time.time()
print(e-s)
if name == ‘main’:
t1=threading.Thread(target=hanshu)
t2=threading.Thread(target=hanshu)
t1.start()
t2.start()”""
“”“def hanshu():
a=3
for x in range(10):
yield x+a
a+=1
x=hanshu()
for y in x:
print(y)”""
“”“def hanshu():
for i in range(3):
print(“函数1”,i)
yield
def hanshu2(a):
for i in range(3):
next(a)
print(“函数2”,i)
h=hanshu()
hanshu2(h)”""
#两个需要同时运行起来
“”“import socket
from socket import *
udp_s=socket(AF_INET,SOCK_DGRAM)
dest_address=(“10.10.107.125”,8899)
udp_s.bind((“10.10.107.125”,9999))
while True:
data=input(“请输入”)
udp_s.sendto(data.encode(“utf_8”),dest_address)
s=udp_s.recvfrom(124)
print(s[0].decode(“utf-8”))”""
“”“import socket
from socket import *
udp_s=socket(AF_INET,SOCK_DGRAM)
dest_address=(“10.10.107.125”,9999)
udp_s.bind((“10.10.107.125”,8899))
while True:
data=input(“请输入”)
udp_s.sendto(data.encode(“utf_8”),dest_address)
s=udp_s.recvfrom(124)
print(s[0].decode(“utf-8”))”""
“”“from socket import *
from threading import Thread
udp_s=socket(AF_INET,SOCK_DGRAM)
dest_address=(“10.10.107.125”,8899)
local_address=(“10.10.107.125”,9999)
udp_s.bind(local_address)
def send():
while True:
d=input(“请输入”)
udp_s.sendto(d.encode(“utf-8”),dest_address)
def receive():
while True:
d=udp_s.recvfrom(124)
print(d[0].decode(“utf-8”))
if name == ‘main’:
t1=Thread(target=send)
t2=Thread(target=receive)
t1.start()
t2.start()”""
“”“from socket import *
from threading import Thread
udp_s=socket(AF_INET,SOCK_DGRAM)
dest_address=(“10.10.107.125”,9999)
local_address=(“10.10.107.125”,8899)
udp_s.bind(local_address)
def send():
while True:
d=input(“请输入”)
udp_s.sendto(d.encode(“utf-8”),dest_address)
def receive():
while True:
d=udp_s.recvfrom(124)
print(d[0].decode(“utf-8”))
if name == ‘main’:
t1=Thread(target=send)
t2=Thread(target=receive)
t1.start()
t2.start()”""