请教高手,关于界面被阻塞的问题

来源:互联网  责任编辑:小易  

阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会返回。有人也许会把阻塞调用和同步调用等同起来,实际上他是不同的。对于同步调用来说,很多时候当前线程还是激活的,只是从逻辑上当前函数没有返回而已。例如,我们在CSocket中调用Receive函数,如果缓冲区中没有数据,这个函数就会一直等待,直到有数据才返回。而此时,当前线程还会继续处理各种各样的消息。如果主窗口和调用函数在同一个线程中,除非你在特殊的界面操作函数中调用,其实主界面还是应该可以刷新。socket接收数据的另外一个函数recv则是一个阻塞调用的例子。当socket工作在阻塞模式的时候,如果没有数据的情况下调用该函数,则当前线程就会被挂起,直到有数据为止。非阻塞 非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回www.zgxue.com防采集请勿采集本网。

我在continer里调用一个函数,函数有一个入参一个出参,是向远程发送消息。

调用后远程服务器正常接收会返回一个消息,就是函数的输出参数。

更新显卡驱动~

现在的问题是,服务器不返回消息,函数调用就过不去,就卡在这里动不了了,在客户端这边做什么处理可以解决呢?

下面,我们依旧以Windows 2000平台为基础,以ASUS(华硕)AAM6000EV非路由以太式ADSL Modem和TP-Link(普瑞尔)TL-R400宽带路由器为例,来讲解宽带路由器共享ADSL的方法(其他品牌的宽带路由器在设置界面

网络通信是异步处理的。

打印机脱机的解决方法: 1、第一步:任务栏右下角打印机图标不会消失,可却也没有红色叹号显示。鼠标放上去有提示“一个文档待打印,原因为”。2、第二步:双击任务栏的打印机图标,打开打印机

为什么会卡住不动呢?

为了保证工程施工的顺利进行和按时达到目标,及时解决施工生产中出现的问题,迅速而准确的传达项目经理决策,必须建立以项目经理为核心的调度体系,及时反馈上级职能部门、业主意见及施工中出现的问题,

有用活动对象么?发送消息用的哪个类?

这段话的意思是提醒你避免散热孔被堵塞,并不表示你的散热孔已经被堵塞。下面是说你的电脑目前系统温度是98度(我想应该是华氏98度,相当于摄氏三十七、八度),这是一个很正常的温度。再下一行是说按回车

好,网络通信是异步处理的。

为什么会卡住不动呢

引用 1 楼 omegayy 的回复:
网络通信是异步处理的。

为什么会卡住不动呢?

因为这个接口是封装好的,在没有收到返回或出错都不返回,所以阻塞,这个活动对象也不能解决吧,我只好用了多线程。

在加入一个线程在请求类,并且加入等待超时防止死等

引用 4 楼  的回复:
引用 1 楼 omegayy 的回复:

网络通信是异步处理的。

为什么会卡住不动呢?

因为这个接口是封装好的,在没有收到返回或出错都不返回,所以阻塞,这个活动对象也不能解决吧,我只好用了多线程。

楼主需要先搞清同步和异步API的概念。

同步的API是指事情办完后直接返回结果的API。

异步的API是指事情还没办完就先返回的API,当然也有一个返回值。然后事情办成办不成的最终结果用别的途径告知(一般就是预先设置的回调函数,具体平台实现有差异。)

按照楼主所述,碰到的这个应该属于同步API。你在主线程里面调用它时,若它不返回,主线程就会卡在那儿。而对于Symbian来说,UI处理也是发生在主线程里面的,故UI被卡住了。对于最终用户,看到的就是程序没反应了。

分析清了问题的起因,那么解决办法就是把这个调用放到别的线程里面去,请学习使用RThread相关内容。

相关话题:那么Active Object为什么不能派上用场呢?因为Active Object调用的那些其实也都是异步接口,在里面实际上都是包含了主线程之外的线程的。

希望对你有帮助

我们可以利用浏览器中关于的弹出窗口功能设置,来解除或自定义弹出窗口锁封方式,方式如下 方法一:暂时性取消阻止(适合部份浏览器)点选超链接网址前,先按住键盘上[Ctrl]键,再点选超链接网址,可以暂时性的取消阻止弹出功能内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 请教,如何避免界面被阻塞
  • 请教怎么实现阻塞式函数
  • 请教JAVA SWING 线程 阻塞的问题
  • 请教高手们一个如何提高java线程并发性的问题
  • 请教高手使命召唤6的优化问题
  • 向高手请教
  • 连接共享打印机总是显示打印机脱机
  • 基础中先放X向底板筋,那么梁先扎那个方向呢?
  • 电脑一开机就出现整屏黑底英文字(见图)
  • MFC处理对话框问题! 一个窗口的类调用另一个窗口类的成员函数。
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved