研究了android从网络上异步加载图像:(1)由于android UI更新支持单一线程原则,所以从网络上取数据并更新到界面上,为了不阻塞主线程首先可能会想到以下方法。 在主线程中new 一个Handler对象,加载图像方法如下所示[java] view plaincopyprint?private... ...
分类:
移动开发 时间:
2016-10-02 00:54:06
阅读次数:
252
OKhttpManager2.Class 请求工具类 MainActivity.class 工具类的调用方法 activity_main.xml 布局文件 个人觉得主要得注意的地方是,任何更新UI操作,都必须要在主线程中才能更新,而网络请求操作,则需要放在子线程。这里通过接口回调和数据分发的方式,利 ...
分类:
Web程序 时间:
2016-09-30 23:37:21
阅读次数:
315
请问UI线程给子线程发信号,应该用哪种连接方式? 如果子线程正在执行一个函数,我发射信号去执行子线程的另一个函数,那么此时子线程到底会执行什么呢? 用信号量做的同步。第一把信号槽的事件丢到线程的事件队列,第二信号量等待,等到事件处理完触发,继续执行主线程逻辑。子线程还是处理事件,只是信号槽的槽函数执 ...
分类:
编程语言 时间:
2016-09-30 07:38:39
阅读次数:
167
android中的主线程不需要新建。 Thread.sleep设置程序阻塞。 新建子线程后,按下Button,不会卡死,会立即弹起。 ...
分类:
移动开发 时间:
2016-09-30 02:26:56
阅读次数:
166
1.随便选择两个城市作为预选旅游目标。实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市。分别用Runnable接口和Thread类实现。 思考题:实现在分线程调用主线程的join(), 让主线程先执行完毕,分线程再继续执行。 ...
分类:
编程语言 时间:
2016-09-29 02:01:19
阅读次数:
177
开启新线程 new Thread(new Runnable(){ public void run(){ Thread.sleep(XXXX); handler.sendMessage(); //告诉主线程执行任务 } }).start 利用定时器 TimerTask task = new Timer ...
分类:
移动开发 时间:
2016-09-28 12:20:27
阅读次数:
176
很长时间以来,我个人(可能还有很多同学),对多线程编程都存在一些误解。一个很明显的表现是,很多人有这样的看法: 新开一个线程,能提高速度,避免阻塞主线程 毕竟多线程嘛,几个线程一起跑任务,速度快,还不阻塞主线程,简直完美。 在某些场合,我们还见过另一个“高深”的名词——“异步”。这东西好像和多线程挺 ...
分类:
移动开发 时间:
2016-09-27 13:18:11
阅读次数:
251
使用Java多线程编程时经常遇到主线程需要等待子线程执行完成以后才能继续执行,那么接下来介绍一种简单的方式使主线程等待。 java.util.concurrent.CountDownLatch 使用countDownLatch.await()方法非常简单的完成主线程的等待: ...
分类:
编程语言 时间:
2016-09-24 13:42:54
阅读次数:
155
Java Swing的事件处理机制 Swing GUI启动后,Java虚拟机就启动三个线程,分别为主线程,事件派发线程(也是事件处理线程)和系统工具包线程。 主线程 :负责创建并显示该程序的初始界面; 系统工具包线程 :负责将从系统事件队列捕获在该程序界面上的鼠标和键盘操作等底层事件,并把这些事件转 ...
分类:
编程语言 时间:
2016-09-22 21:08:20
阅读次数:
315
考虑有这样一个LiftOff类: 以及一个发射主线程: 我们的本意是先显示倒计时,然后显示“发射!”,运行结果却是 因为main()函数也是一个线程,程序能否得到正确的结果依赖于线程的相对执行速度,而我们无法控制这一点。想要使LiftOff线程执行完毕后再继续执行主线程,比较容易想到的办法是使用轮询 ...
分类:
编程语言 时间:
2016-09-22 14:35:49
阅读次数:
216