我这是什么情况,老师,我不理解
老师所以这个echo服务指的是啥????????????????????
老师,这样的操作怎么实现
from greenlet import greenlet from time import time def func1(): num=0 for i in range(10000000): num += 1 g2.switch() def func2(): num=0 for i in range(10000000): num += 1 g1.switch() if __name__ =="__main__": g1=greenlet(func1) g2=greenlet(func2) start=time() end=time() print(end-start)
老师 我这个代码哪有问题 一值运行不出来
Process finished with exit code 0
老师控制台只显示这个死怎么回事
老师为什么我的代码加入了mq.qsize()<10:后,没起作用,还是一直生产和购买下去,哪里出错了吗
from threading import Thread
from queue import Queue
from time import sleep
def producer():
num = 1
while True:
if mq.qsize() < 10:
print(f'生产了{num}号加菲猫')
mq.put(f'{num}号加菲猫')
num += 1
sleep(1)
def consumer():
print('购买了{}'.format(mq.get()))
sleep(2)
if __name__ == '__main__':
#共享数据的容器
mq=Queue()
#创建生产者线程
t1=Thread(target=producer)
#创建消费者线程
t2=Thread(target=consumer)
t3=Thread(target=consumer)
#开始工作
t1.start()
t2.start()
t3.start()
老师您好
from socket import * import asyncio # 给对方传递信息 s = socket(AF_INET, SOCK_DGRAM) # ipv4协议 使用的是udp协议 s.bind(("", 5431)) addr = ("172.27.150.26", 8080) # ip 地址和端口地址 async def fun1(): while True: date = input("请输入要选择的内容") s.sendto(date.encode("gb2312"), addr) # 将字符流转为字符串 async def fun2(): while True: task = asyncio.create_task(fun1()) task.add_done_callback() redate = s.recvfrom(10) print(redate[0].decode("gb2312")) if __name__ == '__main__': f1 = fun1() f2 = fun2() loop = asyncio.get_event_loop() loop.run_until_complete(f2) loop.close()
我想用进程的方法实现它可以同时接受信息,请问要怎么做才行啊?
老师好 pycharm里面没有greenlet模块怎么操作呢
from threading import Thread from queue import Queue from time import sleep def producer(): num = 1 while True: if mq.qsize() < 10: print(f'生产了{num}号加菲猫') mq.put(f'{num}号加菲猫') num += 1 sleep(1) def consumer(): while True: print('购买了{}'.format(mq.get())) sleep(2) if __name__ == '__main__': #共享数据的容器 mq=Queue() #创建生产者线程 t1=Thread(target=producer) #创建消费者线程 t2=Thread(target=consumer) t3=Thread(target=consumer) #开始工作 t1.start() t2.start() t3.start()
附上源代码,老师
# coding = 'UTF-8' from socket import * # a = socket(AF_INET, SOCK_STREAM) IPV4 TCP协议 a = socket(AF_INET, SOCK_DGRAM) # IPV4 udp协议 a.sendto('Hello world !', ('192.168.1.115', 8080)) # send some information to sb. 为什么总是注释报错?加utf-8还是报错?
老师,为什么多线程所需要的的时间比睡眠时间 * n还要多一点?是因为切换线程需要时间吗?我的电脑CPU是8核,创建了10个线程,如果是,为什么有时候单线程后面的秒数又多些?
为什么每次运行时,打印出来的时间都是不一样的?
threading Thread time sleep (Thread): (,name): ().() .name=name (): (.format(.name)) sleep() t1=MyThread() t2=MyThread() t1.start() t2.start()
老师,我的代码为什么报这些错误?我看老师使用visual code来做得,它们是不是有啥区别啊
这是什么,老师好像没讲
这个是用了守护线程的图片,为什么会出现‘\n’丢失的情况?
这个是没有使用守护线程的截图,前面开启线程的时候是正常显示的,后面结束线程的时候就这样了。
import threading from time import sleep import time def threading_func(i): print(f"线程{'t' + str(i + 1)}开启...") sleep(3) print(f"线程{'t' + str(i + 1)}结束...") if __name__ == '__main__': threading_lists = [] for i in range(20): t = threading.Thread(target=threading_func, args=(i, )) threading_lists.append(t) #t.setDaemon(True) t.start() print("主线程结束!!")
老师,请问在这个过程中
为什么没有出现,(因为t.join依靠for循环来依次执行,对于任何一个t.join,主线程都需要等待这个子线程结束,以致for循环停滞)的现象
或者
这里从t1.join()到t2.join(),需要主线程的运行吗?否则就到t1停一下,等t1执行完,再到t2停一下。。
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637