多线程异步有什么作用

多线程异步有什么作用,第1张

线程:最常用的是解决页面大数据卡住问题,用另外线程去取数据,等取到后在刷新到页面上,这样就不会卡主界面,影响用户体验

异步:也可以用到这情况界面先打开,同时请求数据(这在第2线程做),然后等待响应,响应到后,把数据刷新到界面

异步一般是这样:client注册事件到server,当server接受到请求后再通知client

异步调用是通过使用单独的线程执行的。原始线程启动异步调用,异步调用使用另一个线程执行请求,而与此同时原始的线程继续处理。

同步调用则在继续之前必须等待响应或返回值。如果不允许调用继续即无响应或返回值,就说调用被阻塞了,不能继续执行。

我来给你讲解一下异步的使用吧,

如果你不是开发人员,直接跳到第三,异步的概念 和 同步的区别:

一、在你的Activity中写一个内部类:

private class TestAsyncTask extends AsyncTask<String, Void, Boolean>

{

@Override

protected void onPreExecute()

{

//最先执行的就是这个。

}

@Override

protected Boolean doInBackground(String... params)

{

//这个是在后台执行的东西,就是说,它自动另外开了个线程运行,不影响你现在做的东西。

}

@Override

protected void onPostExecute(Boolean result)

{

if (result)

{

//后台执行的完毕后,它会用Result通知这里,就是执行这里了。

}

else

{

//所以最好判断一下result,写个else,判断后台执行的东西是不是出问题了。

}

}

}

二,在你的onCreate的时候启动这个异步,启动代码如下:

new TestAsyncTask().execute("")

三,异步 和 同步的区别

异步的好处,就是把一些东西,特别是耗时间的东西扔到后台去运行了,doInBackground,程序可以继续做自己的事情,防止程序卡在那里失去响应。

同步执行的话,就是程序会呆板地从头执行到尾,耗时间的东西不执行完,程序不会继续往下走,等待时间长的话,有时候就会造成失去响应了。

我就是搞开发的,呵呵。我的代码你直接贴进去就能用的。打字贴代码辛苦啊~~望采纳。也欢迎追问


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11813350.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存