动作的运行是一个循环。我希望在动作运行时可以实时更改循环间隔。
我的设想是开启多进程,第二个进程供用户更改循环间隔,然后将间隔数字写入状态变量中。然后在循环过程中读取状态变量。以此达到目的
你好,你是怎么解决“锁”的问题的
什么是锁的问题
开启多个线程同时对同一个对象进行读写操作可能会造成一些问题。不知道你遇到过没有,我遇到过。。 目前没有啥可靠的解决办法
就像你这个问题 第一个线程读取循环时间的时候,恰巧你第二个线程正在写入循环时间到变量。。 不知道对不对,我也是半吊子
我这个问答帖的实例动作已经推出了,就叫「滚」
就是用本帖说的原理。感兴趣看下呗。
你要用状态存取模块,不要用变量的状态变量。通过变量赋值来映射,而非直接改变量
好的 谢谢我去研究研究
你甚至还能检测变量是否变化来决定是跳过还是处理。比如你多实例改动一个列表变量,那你可以做个检测,列表没有变动,比如列表没有增删,就跳过不处理继续循环监控。列表有改动的,才处理,这样就能做到有修改才处理,没修改就监听的效果
不要做太复杂的动作。在循环里使用一个等待时间的步骤,这个步骤使用变量控制等待多久。
你好,你是怎么解决“锁”的问题的
什么是锁的问题
开启多个线程同时对同一个对象进行读写操作可能会造成一些问题。不知道你遇到过没有,我遇到过。。 目前没有啥可靠的解决办法
就像你这个问题 第一个线程读取循环时间的时候,恰巧你第二个线程正在写入循环时间到变量。。 不知道对不对,我也是半吊子
我这个问答帖的实例动作已经推出了,就叫「滚」
就是用本帖说的原理。感兴趣看下呗。
你要用状态存取模块,不要用变量的状态变量。通过变量赋值来映射,而非直接改变量
好的 谢谢我去研究研究
你甚至还能检测变量是否变化来决定是跳过还是处理。比如你多实例改动一个列表变量,那你可以做个检测,列表没有变动,比如列表没有增删,就跳过不处理继续循环监控。列表有改动的,才处理,这样就能做到有修改才处理,没修改就监听的效果