java-是否有类似于onPreExecute和onPostExecute的传统线程?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-是否有类似于onPreExecute和onPostExecute的传统线程?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1239字,纯文字阅读大概需要2分钟。
内容图文
![java-是否有类似于onPreExecute和onPostExecute的传统线程?](/upload/InfoBanner/zyjiaocheng/676/3954f232174549eebc33e7836010fc54.jpg)
我当时使用的是AsyncTask,但出于这个问题不值得探讨的原因,刚切换到使用传统的Thread.
与onPre / PostExecute的功能相似,我该怎么做才能在线程启动之前和之后执行某些操作?
例如,假设我要在线程开始之前显示一个加载圆,并在线程结束时将其关闭.我该怎么做?
对于执行后位,我正在使用thread.join(),它似乎可以解决问题.我不确定这是否是解决问题的方法,还是不确定如何执行预执行.
解决方法:
What can I do to make something execute before and after the thread starts, similar to the functionality of onPre/PostExecute?
onPreExecute()->在线程上调用start()之前执行的语句
onPostExecute()->从您的线程调用View上的runOnUiThread()或post(),提供要在主应用程序线程上执行的Runnable
How would I do that?
理想情况下,您不会.进度对话框糟透了.在用户界面的某个位置(例如,操作栏,标题栏)放置一个进度指示器,并禁用线程运行时用户无法安全执行的一些操作.
话虽如此,您大概会在执行线程之前显示DialogFragment,然后通过上述机制在线程完成后删除该片段.
For the post-execution bit, I’m using thread.join() and it seems to do the trick.
ck那将阻塞您正在使用的任何线程,如果那是主应用程序线程,那确实很糟糕.
更新
runOnUiThread()的示例:
new Thread() {
public void run() {
// do cool stuff
runOnUiThread(new Runnable() {
public void run() {
// do other cool stuff quickly on the main application thread
}
);
}
}).start();
内容总结
以上是互联网集市为您收集整理的java-是否有类似于onPreExecute和onPostExecute的传统线程?全部内容,希望文章能够帮你解决java-是否有类似于onPreExecute和onPostExecute的传统线程?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。