我希望能够为python程序设立一个暂停机制,当我触发机制时 程序立刻停下,再次触发机制时程序从暂停处启动。在网上了解到多线程,但是似乎仍然会运行完当前块而不是立刻停止 ?
如果不能暂停,则希望达成中止。
我的问题:
1.我该如何达到暂停与再启动的结果 ?
2.我目前采用的中止方式时打包时带出控制台,直接关闭控制台,请问有更好的中止方式吗
我希望能够为python程序设立一个暂停机制,当我触发机制时 程序立刻停下,再次触发机制时程序从暂停处启动。在网上了解到多线程,但是似乎仍然会运行完当前块而不是立刻停止 ?
如果不能暂停,则希望达成中止。
我的问题:
1.我该如何达到暂停与再启动的结果 ?
2.我目前采用的中止方式时打包时带出控制台,直接关闭控制台,请问有更好的中止方式吗
先说2吧
想终止程序,要么杀死进程,要么杀死线程
你把进程附加到控制台下运行,那么关闭控制台,子进程也关闭,间接实现杀死进程的效果
其实也可以直接杀死进程
可以创建外部进程的时候记录下进程句柄,然后杀死进程
如果你的进程是唯一的,不会同一个exe开启好多个进程,那么也可以直接根据进程名字查找进程,然后杀死
但是这样并不能实现问题1的效果呀,进程被杀死之后,再启动还是从头开始执行的,而不是从中断的地方开始执行
问题1:
在多进程的系统下,最小的执行颗粒是线程,并不是像单片机那样中断的机制
你想在程序的任意处中断,不仅是办不到的,而且也没有任何意义
你在几个特定的点设置可以中断的代码就行了
比如要循环1000次,你可以设置暂停让它不要继续循环,或者继续循环,而循环了一半硬要停在一半,这没意义呀
你要先想明白到底要解决个什么样的问题,然后找一个合适的手段去实现
不要为了手段忘记目的
如果你只是想要程序不要继续print一大堆东西,让人能够安安静静的看之前打印出来的东西
那设置个sleep让它不要执行太快,再设置个bool变量控制它继续往下走还是原地while sleep,不就行了吗