嘟嘟社区

python大佬快来! 在救一次!!!刚没说清 救命 救命!!!


本帖最后由 腾讯云6折购 于 2022-9-19 21:42 编辑

因为论坛发不了代码。被一个for循环困住了!!我写在了下面的链接里面,大佬们帮忙看一下!!! 球完整写法!!!

https://paste.org.cn/p8Rrn1eOfO

有一个mjj大佬 非常精炼的表达了我的想法,可是我不会写!!!球大佬帮忙写一下,他这样说:

mjj变量被其他线程改为False的时候,输出会变成"我关机啦"的。
你应该是在同一线程改的mjj变量值。

yqnnko 发表于 2022-9-19 21:40
你确认你真的用到了多线程?多开源点吧,就这点代码没法看毛病

https://paste.org.cn/hXeqEYO0VR

27-39行 就是要解决的问题

本帖最后由 yqnnko 于 2022-9-19 22:00 编辑

腾讯云6折购 发表于 2022-9-19 21:50
https://paste.org.cn/hXeqEYO0VR

这个if list 就不对, 就算list里是三个False他也是数组 逻辑判断中相当于True ,只有他是空 或者本身就是个布尔值 False 的时候才会是False  而且你这个list第一次获取后就没有更新吧

腾讯云6折购 发表于 2022-9-19 21:38
论坛会拦截代码 不让发python的代码

没看懂你写的什么东西,如果上面那位大佬没错的话还是线程竞争的问题,看一下会不会有多个线程同时修改mjj变量。比较基础的东西,注意”同时“

大家都知道你这段代码啥意思 而且这段代码确实没毛病 主要这个Mjj是怎么获取的 另一个线程。另一个程序,还是VPS厂商提供的API?而且也不知道你处理/更新mjj这个变量的操作是不是有问题,还是要看源码

啥意思啊? 你的意思是说mjj在sleep那六秒内关机程序会错过, 就检测不到吗?
没错,我就是那个见死不救的人
对不起 读不懂 这个mjj变量是从哪里来的

学到了么 发表于 2022-9-19 21:28
没错,我就是那个见死不救的人

呜呜呜

这是入门经典问题?多线程操作同一个全局变量会造成竞争,所以要加锁。https://blog.csdn.net/xingyan98/article/details/98777578  https://m.jb51.net/article/150449.htm

yqnnko 发表于 2022-9-19 21:29
对不起 读不懂 这个mjj变量是从哪里来的

mjj这个变量是我在代码之前写好了 可以检测开机还是关机,我现在希望mjj开机的时候可以打印开机,关机的时候可以打印关机,重要的是及时打印

其实不用管mjj从哪里来的,你只要知道mjj是一个随时会变的一个变量,在true和fales互相变化

建议把源代码贴出来
手机网页打开白屏,抬走吧。

muzhiyun 发表于 2022-9-19 21:32
这是入门经典问题?多线程操作同一个全局变量会造成竞争,所以要加锁。https://blog.csdn.net/xingyan98/ar …

大佬 太看得起我了 我直接看懵比了 我才学了两天python 就想实现个小功能,结果遇到一个稍微高阶的问题 直接把我难住了

来一口 发表于 2022-9-19 21:35
建议把源代码贴出来

论坛会拦截代码 不让发python的代码