🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 使用说明 写入一个值到进程共享内存区 标志键可以是数值、字符串或pointer类型指针 赋值为null则删除该共享键值对 ## 应用场景 用于多个线程共享使用同一个公共变量,各个线程都可以读取和设置这个变量的值,以便让线程暂停或继续或判断执行某些功能. ## 对照生活 1. 多个线程如多车道上运行的车辆,线程共享变量如公共设施红绿灯,通过红绿灯可以控制各车道上的车辆是暂停还是继续运行. 2. 各个子线程相当于客厅里的观众,共享变量相当于电视遥控器,不管哪个人抢走遥控器换台,其它人看到的都是换台之后的画面. ## 示例1 新建无界面工程,把下面的中文伪代码复制粘贴到伪代码编辑框里然后运行: ``` IDE交互.清空日志() 线程.设置共享变量("我的最爱","白富美") 定义 线程句柄1 = 线程.创建( 函数(日志输出框){ 导入 线程; 日志输出框.输出(线程.获取共享变量("我的最爱")) 线程.设置共享变量("我的最爱","大白网页机器人") 日志输出框.输出(线程.获取共享变量("我的最爱")) },IDE交互.日志输出框 ) 延迟等待(1000) //让给子线程执行完,防止主线程比子线程先跑完 IDE交互.日志输出(线程.获取共享变量("我的最爱")) ``` ## 示例2 ``` 控制台.清屏() 线程.设置共享变量("我的最爱","白富美") //注意:直接关闭控制台时主程序也会跟着关闭 定义 线程句柄1 = 线程.创建( 函数(){ 导入 控制台; 导入 线程; 控制台.输出日志(线程.获取共享变量("我的最爱")) 线程.设置共享变量("我的最爱","大白网页机器人") 控制台.输出日志(线程.获取共享变量("我的最爱")) } ) 延迟等待(1000) //让给子线程执行完,防止主线程比子线程先跑完 控制台.输出日志(线程.获取共享变量("我的最爱")) 控制台.暂停(真);//暂停会导致IDE无响应 控制台.关闭();//用命令关闭控制台不会连IDE也一起关闭 ``` 输出: ``` 白富美 大白网页机器人 大白网页机器人 ```