有两个问题,求助大佬
1,while (1) 为什么可以执行循环体外的程序。
2,去掉 while (1) 为什么进程无法启动。
while True 为什么可以执行循环体外的程序。
去掉 while True 为什么进程无法启动。(后面没代码了,代表主线程结束)
当主线程退出时,由系统决定其他线程是否存活。在大多数系统中,这些线程会直接被杀掉。
各进程的代码, 基本上是独立执行的, 但如果有相关的共用区, 如变量, 数据库等, 彼此之间系就更复杂了, 比如你正在读写文件, 我也要读写文件, 那会不会彼此要更新的内容被对方给更新了, 所以作业的方式变得难搞了。
主进程的死循环输出一个print,为什么子进程的输出却没有了呢? 应该是有的, 这里主线程是一直打印的, 而线程中是暂停2~4秒才打印一次, 所以有可能主线程打印了八万行, 才有线程打印了一行, 你可能不容易看到。
也就是说while True的作用在于保持主进程存活,主进程存活的时候子进程才能继续执行,而进程间的代码是独立执行的对吗?
感谢大佬的解惑!