社区
Symbian
帖子详情
请教高手,关于界面被阻塞的问题
jqr_qtd
2011-12-30 04:22:14
我在continer里调用一个函数,函数有一个入参一个出参,是向远程发送消息。
调用后远程服务器正常接收会返回一个消息,就是函数的输出参数。
现在的问题是,服务器不返回消息,函数调用就过不去,就卡在这里动不了了,在客户端这边做什么处理可以解决呢?
...全文
344
7
打赏
收藏
请教高手,关于界面被阻塞的问题
我在continer里调用一个函数,函数有一个入参一个出参,是向远程发送消息。 调用后远程服务器正常接收会返回一个消息,就是函数的输出参数。 现在的问题是,服务器不返回消息,函数调用就过不去,就卡在这里动不了了,在客户端这边做什么处理可以解决呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
softworm
2012-08-09
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
引用 1 楼 omegayy 的回复:
网络通信是异步处理的。
为什么会卡住不动呢?
因为这个接口是封装好的,在没有收到返回或出错都不返回,所以阻塞,这个活动对象也不能解决吧,我只好用了多线程。
[/Quote]
楼主需要先搞清同步和异步API的概念。
同步的API是指事情办完后直接返回结果的API。
异步的API是指事情还没办完就先返回的API,当然也有一个返回值。然后事情办成办不成的最终结果用别的途径告知(一般就是预先设置的回调函数,具体平台实现有差异。)
按照楼主所述,碰到的这个应该属于同步API。你在主线程里面调用它时,若它不返回,主线程就会卡在那儿。而对于Symbian来说,UI处理也是发生在主线程里面的,故UI被卡住了。对于最终用户,看到的就是程序没反应了。
分析清了问题的起因,那么解决办法就是把这个调用放到别的线程里面去,请学习使用RThread相关内容。
相关话题:那么Active Object为什么不能派上用场呢?因为Active Object调用的那些其实也都是异步接口,在里面实际上都是包含了主线程之外的线程的。
希望对你有帮助
flypig917
2012-05-07
打赏
举报
回复
在加入一个线程在请求类,并且加入等待超时防止死等
jqr_qtd
2012-01-09
打赏
举报
回复
[Quote=引用 1 楼 omegayy 的回复:]
网络通信是异步处理的。
为什么会卡住不动呢?
[/Quote]
因为这个接口是封装好的,在没有收到返回或出错都不返回,所以阻塞,这个活动对象也不能解决吧,我只好用了多线程。
kktang12345678
2012-01-06
打赏
举报
回复
好,网络通信是异步处理的。
为什么会卡住不动呢
firebomber7hikari
2012-01-06
打赏
举报
回复
有用活动对象么?发送消息用的哪个类?
omegayy
2012-01-01
打赏
举报
回复
网络通信是异步处理的。
为什么会卡住不动呢?
android开发相关资料整理【2011-10-06】
跪求高人解答 WebView输入框
问题
。 WebView如何获得正在打开页面的进度? 如何更改TextView被选取时的颜色? 从相册或者相机获得图像bitmap,怎么传送到其他activity?
请教
如何更改Button样式,或是能否在ImageButton上添加文字? 关于系统铃声 【求助】线程控制图片更新的
问题
请教
如何在无
界面
的程序中启动一个activity ...
常见电脑疑难问答
★系 问:wsli您好,我的计算机最近遇到了一些
问题
,比如蓝屏、缺少DLL文件等。在
请教
高手
后,他们让我释放Windows 98系统文件来解决这个
问题
,可是我应该如何释放Windows 98系统文件?答:释放系统文件是一种比较有效的方法,很多朋友在使用系统时遇到的
问题
都需要使用Windows 98安装盘释放CAB文件的办法来解决。在“资源管理器”或“我的电脑”中双击包含有需
VC常见入门
问题
总结
VC常见入门
问题
总结1:fatal error C1010: unexpected end of file while looking for precompiled header directive该如何解决 如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的Settings,选择C/C++选项卡,从Category组合框中选中Precompile
[android开发]WebView如何获得正在打开页面的进度?
我想做一个按钮跳转到网页的功能,跳转打开网页都一切正常,但是在进入webview的时候会有一个白屏
界面
,我想这应该是load页面的过程,我在想这个过程中加一个进度条或者是提示等待的
界面
,但是不知道怎么获得网页的打开进度。 求
高手
指教,最好能实例代码。非常感谢!! 还请
高手
指教
关于Linux
这篇文章来自网络。
由于很多人总问这个
问题
,所以这里做一个总结文档供大家参考。这里必须先说明,以下的步骤都是针对Linux系统的,并不面向WinCE。也许你会注意到,现在做嵌入式的人中,做linux研究的人远比做WinCE的人多,很多产家提供的资料也是以linux为主。我一直很难理解,其实WinCE的
界面
比linux的
界面
好看多了,使用起来也很方便,更为重要的是,WinCE的开发和Windows下的开发基本一样,学起来简单得多,但是学linux或者使用linux做嵌入式的
Symbian
3,120
社区成员
9,186
社区内容
发帖
与我相关
我的任务
Symbian
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
复制链接
扫一扫
分享
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章