不是讲的是导入模块的时候不要用*么,那是在那种情况下用*呢
t1 = Thread(target=func1,args=("t1",))
老师这个target和thread有什么关系,这个是哪里的
视频中用的模块导入补全是用的什么方法呢。
#encoding=utf-8
#方法方式创建线程
from threading import Thread
from time import sleep
def func1(name):
for i in range(3):
print(f"thread:{name} :{i}")
sleep(1)
if __name__ == '__main__':
print("主线程,start")
#创建线程
t2 = Thread(target=func1,args=("t2",))
#启动线程
t1.start()
t2.start()
print("主线程,end")
'''
运行结果可能会出现换行问题,是因为多个线程抢夺控制台输出的IO流。
比如,如下的输出换行就没有按照预想的显示:
主线程,start
thread:t1 :0
thread:t2 :0
主线程,end
thread:t2 :1thread:t1 :1
thread:t2 :2
thread:t1 :2
老师 还有我不太理解这个逻辑顺序
老师我有点糊涂了
if __name__=='__main__' 这个一般怎么用
# #coding=uft-8 from threading import Thread from time import sleep def func1(name): print(f"线程{name},start")#format for i in range(3): print(f"线程:{name},{i}") sleep(3)# print(f"线程{name},end") if __name__ == '__main__': print("主线程,start") #创建线程 t1 = Thread(target=func1,args=("t1")) t2 = Thread(target=func1,args=("t2")) #启动线程 t1.start() t2.start() print("主线程,end")
显示这样的报错是什么意思啊
老师,请问为什么报这个错?我应该怎么改呢
from threading import Thread import time class MyThread(Thread): def __init__(self, name) -> None: Thread.__init__(self) self.name = name def run(self): print(f"线程{self.name} start") print(time.time()) for i in range(100): print(f"线程{self.name}:",i) time.sleep(3) print(time.time()) print(f"线程{self.name} end ") if __name__ == "__main__": print("主线程 start") # 创建线程 t1 = MyThread("t1") t2 = MyThread("t2") # 守护线程 daemon t1.daemon = True t2.daemon = True # 启动线程 t1.start() t2.start() # join()方法 等待子线程结束后再结束主线程 # t1.join() # t2.join() print("主线程 end")
老师,这个代码我有几个问题:
1、主线程执行完毕和主线程结束不是一回事儿的话,主线程怎么样才算结束,是执行完毕后会有一个缓冲时间,去告诉系统,我执行完毕了,可以结束了吗?
2、这里执行结束后有这个报错,是我的代码问题吗,我和课上代码对比了没有发现代码哪里有问题呀;
3、这段代码里,我用time.time()方法试了一下,sleep函数貌似失效了,没有等待时间,是直接输出的,但是我不写在线程里,单独写一个测试sleep的代码的话是能正常使用的,这是什么原因。
multiprocessing.current_process().pid
和os.getpid的作用是一样的吧
老师 就是我这个event对象会不会被其他线程的event.set启动 而且这个主线程是相当个进程吗
老师,说实话这种代码我自己写不出来,要怎样练习才能熟练写出呢
老师
为什么这个 t1设为守护线程但是没用
这个t1.daemon=True为啥一定要在t1.start()前面
老师 在最前面打印#coding=utf-8 和#encoding=utf-8 有啥区别吗
老师,为什么end不是按顺序来的?不是按0 1 2的顺序end
老师,放在main里定义的变量是全局变量?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637