以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 狐表HttpServer的异步编程无实际效果 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=135460) |
||||
-- 作者:yjf123 -- 发布时间:2019/5/27 13:56:00 -- 狐表HttpServer的异步编程无实际效果 狐表HttpServer的异步编程无实际效果,有图有示例 输出0到10000到命令窗口,通过异步函数Functions.AsyncExecute执行,虽然浏览器访问后,主程序不会卡住。 但多次访问的时候,还是等上一次执行完才会执行本次的访问。 所以,当并发访问的时候,还是得等一次执行完才执行下一次,并未达到多线程同时执行的效果。没有任何意义........
如果我的操作方式有误,希望指正,并且为狐表澄清!
|
||||
-- 作者:nblwar -- 发布时间:2019/5/27 14:17:00 -- 多线程是这么用的?我表示一脸懵逼 |
||||
-- 作者:有点甜 -- 发布时间:2019/5/27 14:32:00 -- 你如何测试的?你希望得到怎样的效果?
我测试没问题。
我先访问 http://127.0.0.1/,过十几秒以后,接着在浏览器再访问 http://127.0.0.1/
那么,第一次访问的先完成,然后第二次的十几秒以后完成。这样测试说明没问题啊。
|
||||
-- 作者:yjf123 -- 发布时间:2019/5/27 14:43:00 -- 你看输出结果,1到10000,两次同时执行的多线程,应该是交叉输出的,而不是现在这样,1,2,3...9999,10000===1,2,3...9999,10000 不用http触发,你执行多线程,你会发现,输出是这样的:1,2,3,4 ,1,5,2,6,3......9997,9995,9998,9996,9999,9997,10000,9998,9998,10000
|
||||
-- 作者:yjf123 -- 发布时间:2019/5/27 14:44:00 -- 这样的话,用户访问,必须等待前面的访问执行完成,才会执行。 和单线程有什么区别呢?
|
||||
-- 作者:有点甜 -- 发布时间:2019/5/27 15:02:00 -- 以下是引用yjf123在2019/5/27 14:43:00的发言:
你看输出结果,1到10000,两次同时执行的多线程,应该是交叉输出的,而不是现在这样,1,2,3...9999,10000===1,2,3...9999,10000 不用http触发,你执行多线程,你会发现,输出是这样的:1,2,3,4 ,1,5,2,6,3......9997,9995,9998,9996,9999,9997,10000,9998,9998,10000
如果这样输出,就没问题啊
【,2,3,4,1,5,2,6,3】说明是两个线程交叉执行啊。 |
||||
-- 作者:有点甜 -- 发布时间:2019/5/27 15:03:00 -- 打开ie浏览器,打开两个页签,分别访问,看输出的值,就是这样的啊【1,2,3,4,1,5,2,6,3】 |
||||
-- 作者:yjf123 -- 发布时间:2019/5/27 15:22:00 -- 的确是,用的360浏览器有问题,浏览器内核还影响到这个了 |
||||
-- 作者:有点甜 -- 发布时间:2019/5/27 17:02:00 -- 以下是引用yjf123在2019/5/27 15:22:00的发言:
的确是,用的360浏览器有问题,浏览器内核还影响到这个了
不需要理会,多线程没问题的。如果还也到什么问题,请具体说明。
|
||||
-- 作者:nblwar -- 发布时间:2019/5/28 10:04:00 -- 360有极速模式和兼容模式,一般兼容模式会出问题 |