Foxtable(狐表)用户栏目专家坐堂 → [求助]多线程的问题


  共有5557人关注过本帖树形打印复制链接

主题:[求助]多线程的问题

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/2/24 21:49:00 [显示全部帖子]

 

具体问题,请做一个对应实例发上来测试。

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/13 10:06:00 [显示全部帖子]

看了一下,你直接用异步函数处理,就可以啊

 

http://www.foxtable.com/mobilehelp/scr/3269.htm

 

执行sql语句,可以多线程的,但对dr的赋值,有可能多线程会冲突,具体请自行测试。

 

你给的实例无法测试你说的耗时的问题,请做对应的实例发上来


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/13 20:58:00 [显示全部帖子]

1、你赋值的时候,如果冲突,那你就用同步函数处理

 

http://www.foxtable.com/mobilehelp/scr/3270.htm

 

2、如果你思路不变,那是没办法的优化的。用异步函数,你可以在后台执行,不影响你前台的其它操作,你慢慢等它完成即可

 

3、不清楚你的逻辑,你可以处理数据都在后台数据表啊,最后一次性把数据加载显示出来即可。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/13 23:18:00 [显示全部帖子]

回到计算问题,请用异步函数执行sql语句,用异步函数处理得到的数据,然后再写入你的后台表,或者前台表,即可。

 

如果写入后台表出错,请贴出出错信息。如果写入前台表出错,请改用同步函数执行写入的操作。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/14 21:57:00 [显示全部帖子]

1、这种代码,要写到函数里面去,不能写在函数外面

 

vars("数量2计算完成")  = true

 

2、你现在是执行sql语句慢?还是赋值代码慢?慢的那些,才需要用多线程处理。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/14 21:58:00 [显示全部帖子]

 

比如我要执行100个sql语句插入输入,那就循环开启100个线程去执行。

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/15 9:07:00 [显示全部帖子]

用异步函数赋值啊。比如

 

比如要执行10000个sql语句插入输入,那就循环开启10000个线程去执行。

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/15 14:51:00 [显示全部帖子]

以下是引用chnfo在2019/3/15 14:00:00的发言:
不行吧。帮助里写了,界面表不能在异步函数中调用啊

 

那你就改成后台数据库啊,给后台数据表赋值啊。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/15 15:18:00 [显示全部帖子]

 

测试了一下,你这种功能,是无法优化的了。你最终都要涉及到给表格控件赋值,而赋值注定是比较慢才能完成的。即便通过sql语句给后台赋值也很慢。

 

只能是改变你的计算思路,不要每次都重新计算一次。

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/15 16:06:00 [显示全部帖子]

以下是引用chnfo在2019/3/15 15:21:00的发言:
哪不太可行。现在是要显示5列,万一哪天用户说想看第6引,还去妀数据库啊?而且,把太多字段冗余到数据库的表里也不合适吧

 

计算一次(比如做一个刷新按钮),需要的时候,重新计算。

 

平时使用的时候,直接查找旧数据显示和计算。和库存那种一样,难道每次都要重新计算几年前的库存数据?


 回到顶部
总数 11 1 2 下一页