【经验分享】辅助流程和主流程无法直接通过全局变量来进行通信的问题

萌新大白熊 17天前 110

一个大坑,或者叫特性!辅助流程和主流程无法通过全局变量来进行通信。

PS:如果一定要通信的话,可以考虑用一个txt来记录下变量的值,每次都是去读取/修改txt内容即可。


下面开始....

例子说明:如下图所示,一个主流程,一个辅助流程。

_【经验分享】辅助流程和主流程无法直接通过全局变量来进行通信的问题

其中,主流程代码如下:(每秒打印一次全局变量aaa)

_【经验分享】辅助流程和主流程无法直接通过全局变量来进行通信的问题

其中,辅助流程代码如下:(每3秒改变一次全局变量aaa的值,每次改动的值不一样,依次切换)

_【经验分享】辅助流程和主流程无法直接通过全局变量来进行通信的问题

那么问题来了:如果辅助流程确实能修改全局变量aaa从而影响到主流程的话,那主流程打印的内容自然会每3秒变一次。


实际运行看一看:

_【经验分享】辅助流程和主流程无法直接通过全局变量来进行通信的问题

可以看到,实际上主流程里打印的aaa一直没有改变!

即辅助流程里更改的其实并不是真正的aaa这个全局变量!


所以,如果实在要通信,建议利用一个txt来存储这个aaa的值。每次要修改aaa,则执行“写入txt”命令,要读取aaa,则执行“读取txt”命令!不过要切忌时间不要冲突或错位。。。

最新回复 (3)
  • 萌新大白熊 17天前
    2
    ^_^ 个人分享,供交流学习~
  • 99网络 17天前
    3
    辅助流程一直还没用过,大佬可以分享一下,一般在哪些情况下,需要用到辅助流程呢?
  • 萌新大白熊 17天前
    4
    99网络 辅助流程一直还没用过,大佬可以分享一下,一般在哪些情况下,需要用到辅助流程呢?
    类似多线程,比如同时处理两件事
返回
发新帖