yield在大循环中需要注意的一个情况
来源:互联网 发布:知乎 安卓下载 编辑:程序博客网 时间:2024/06/01 09:04
yield通常用于大循环中释放控制权,让界面鼠标得到刷新避免”卡死“。
比如
uf_fill_data{
dw_1.reset()
for i = 1 to 3
yield()
.......
dw_1.insertrow(0)
next
}
如果遇到函数执行需要较长时间时,客户狂点鼠标触发执行这个函数,会出现异常。
避免的方法时放入一个flag
uf_fill_data_new{
if ib_busy then return
ib_busy = true
dw_1.reset()
for i = 1 to 3
yield()
........
dw_1.insertrow(0)
next
ib_busy = false
}
下图:正常的情况
下图:重复的情况
同时,这个新的小软件采用的是dw+json+php+apache+msssql2005+阿里ECS服务器 来做的。经过测试很稳定,用php来为dw提供数据感觉非常好。可以看我的另一篇文字介绍:http://blog.csdn.net/chengg0769/article/details/71106186
阅读全文
0 0
- yield在大循环中需要注意的一个情况
- 在MyEclipse中使用Hibernate需要注意的一个问题
- 在SSH2开发中需要注意的一个小问题。
- 关于QSocket的释放的一个需要注意的情况
- 关于mschart在显示百分比时需要注意的情况
- activity需要注意的情况
- java中long值表达式需要注意的一种情况
- 在SQL2000中创建或修改列的默认值 需要注意的一个参数
- JavaScript Tip/Trick: 动态创建Table时,在IE中需要注意的一个问题
- 动态创建Table时,在IE中需要注意的一个问题
- 在实现一个WIFI无线连接设置中需要注意的问题
- C++在使用Qt中SLOT宏需要注意的一个小细节
- jquery parent()方法在table标签中使用需要注意的一个问题
- SharePoint中ListItem更新的一个需要注意的地方
- Discuz中设置广告的一个需要注意的地方
- 关于Qt中QMap的一个需要注意的地方
- 中时间数据查询需要注意的一个小问题
- 使用DB2中需要注意的一个问题。
- 线程安全
- 【异步请求相关知识点】response.getWriter().write()和 response.getWriter().print()的区别
- ImportError: No module named win32api
- Mac上Anaconda+Tensorflow安装
- PHP简易商城(二)PHP运行sql文件安装数据库
- yield在大循环中需要注意的一个情况
- 关于两个数交换
- 【异步请求相关知识点】flush()缓冲区强制写出
- angular4子路由&辅助路由
- java运算符,>>,>>>,<<
- windows 10 安装composer 出错
- 提高Eclipse启动速度的办法
- 【Docker构建】- Nginx创建带Nginx服务的Centos Docker镜像
- 把linux用户添加到其他组