pmbok okhttputils的回调是子线程还是主线程?
okhttputils的回调是子线程还是主线程?
这是一种常见的做法,主要是为了架构和稳定性。首先,在一般的大型软件开发中,两个不同的模块负责网络通信和数据处理。这样,通过回调,减少了代码耦合,更容易阻塞。
c#子线程执行完怎么通知主线程?
定义一个委托回调函数
public delegate void callbackdelegate(字符串消息)
程序启动时
//将回调方法赋给委托变量
callbackdelegate CBD=callback
//start thread
thread th=new thread(fun)开始(CBD)//开始线程,substitute parameter
//线程执行的方法参数是委托,线程中的参数需要使用对象类型。
public void fun(object o)
{
//这里是您的操作代码,loop,exit while
while(true)
{]}
//将传递的参数转换为delegate
callbackdelegate CBD=o as callbackdelegate
//执行回调。
CBD(“此线程返回的信息”
]}
//回调方法
私有void回调(字符串)消息)
{
//主线程报告信息,可用于判断和执行不同的逻辑MessageBox.显示Okhttp,比如httpurlconnection,是面向java的,并且执行套接字层工作。当使用它时,应该在子线程中调用它,并通过处理程序将结果发送给主线程。Nohttp和volley不是套接字层的工作,它可以在主线程中直接调用。得到结果后,可以直接更新UI。它不需要处理程序来发送它。很简单。但是,我建议使用nohttp。原因是nohttp封装了很多功能,如文件下载、断点续传、304缓存、302/303参数传输、文件传输、请求头、多文件上传、大文件上传、cookie自动管理等,这些都是截取而不是截取。当我们使用volley时,我们需要编写大量的代码来再次封装这些函数。另外,volley使用httpclient来解析它们。在android6.0删除httpclient之后,我们不能在6.0下使用volley的源代码,所以我们最好使用nohttp。Nohttp与2.0-6.0或更高版本兼容。然而,我们需要自己封装okhttp,在android4.4之后,nohttp也使用okhttp作为底层
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。