Android--AsyncTask的串行和并行

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17596225前言什么是AsyncTask,相信搞过android开发的朋友们都不陌生。AsyncTask内部封装了Thread和Handler,可以让我们在后台进行计算并且把...

2018-05-29 15:40:28

阅读数 381

评论数 0

wait 和 sleep

wait 和 sleep 区别 1,wait可以指定时间也可以不指定。    sleep必须指定时间。 2,在同步中时,对cpu的执行权和锁的处理不同。 wait:释放执行权,释放锁。 sleep:释放执行权,不释放锁。 整理自示例代码

2017-06-13 15:04:47

阅读数 123

评论数 0

java--java.lang.Thread.join() 方法

Thread类join()方法重载了3次.分别是 join()throws InterruptedException; //无参数的join()等价于join(0),作用是一直等待该线程死亡join(long millis, int nanos) throws Interrupte...

2017-06-13 15:03:20

阅读数 197

评论数 0

停止线程

1,stop方法。 2,run方法结束。 怎么控制线程的任务结束呢? 任务中都会有循环结构,只要控制住循环就可以结束任务。 控制循环通常就用定义标记来完成。 但是如果线程处于了冻结状态,无法读取标记。如何结束呢? 可以使用interrupt()方法将线程从冻结状态强制恢复到运行...

2017-06-13 14:28:23

阅读数 158

评论数 0

java多线程之多生产者与多消费者案例之Lock和Condition实现方式

jdk1.5以后将同步和锁封装成了对象。  并将操作锁的隐式方式定义到了该对象中, 将隐式动作变成了显示动作。 Lock接口: 出现替代了同步代码块或者同步函数。将同步的隐式锁操作变成现实锁操作。 同时更为灵活。可以一个锁上加上多组监视器。 lock():获取锁。 unlock():释放锁,通...

2017-06-13 10:27:00

阅读数 251

评论数 0

java多线程之生产者与消费者案例

多生产者,多消费者的问题。 if判断标记,只有一次,会导致不该运行的线程运行了。出现了数据错误的情况。 while判断标记,解决了线程获取执行权后,是否要运行! notify:只能唤醒一个线程,如果本方唤醒了本方,没有意义。而且while判断标记+notify会导致死锁。 noti...

2017-06-12 17:25:48

阅读数 293

评论数 0

java多线程之等待/唤醒机制

涉及的方法: 1,wait(): 让线程处于冻结状态,被wait的线程会被存储到线程池中。 2,notify():唤醒线程池中一个线程(任意). 3,notifyAll():唤醒线程池中的所有线程。 这些方法都必须定义在同步中。 因为这些方法是用于操作线程状态的方法。 ...

2017-06-12 17:11:36

阅读数 152

评论数 0

Java产生死锁的一个简单例子

思路是创建两个字符串a和b,再创建两个线程A和B,让每个线程都用synchronized锁住字符串(A先锁a,再去锁b;B先锁b,再锁a),如果A锁住a,B锁住b,A就没办法锁住b,B也没办法锁住a,这时就陷入了死锁。直接贴代码: public class DeadLock { publ...

2017-06-12 11:11:58

阅读数 235

评论数 0

Android HandlerThread的用法

HandlerThread 继承自Thread,内部封装了Looper。 首先Handler和HandlerThread的主要区别是:Handler与Activity在同一个线程中,HandlerThread与Activity不在同一个线程,而是别外新的线程中(Handler中不能做耗时的操...

2016-12-12 16:07:02

阅读数 186

评论数 0

Android HandlerThread 完全解析

1、概述 话说最近股市变动不变,也成了热火朝天的话题。不知道大家有没有考虑做个实时更新股市数据的app呢?假设我们要做一个股市数据实时更新的app,我们可以在网上找个第三方的股市数据接口,然后在我们的app中每隔1分钟(合适的时间)去更新数据,然后更新我们的UI即可。 当然了,本文不是...

2016-12-12 15:44:43

阅读数 235

评论数 0

Android自定义线程池的编程实战

1、Executor 简介 在Java 5之后,并发编程引入了一堆新的启动、调度和管理线程的API。Executor框架便是Java 5中引入的,其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。因此,在Ja...

2016-08-26 10:48:06

阅读数 241

评论数 0

Java四种线程池的使用

ava通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。...

2015-12-16 17:56:40

阅读数 221

评论数 0

Java线程(篇外篇):阻塞队列BlockingQueue

好久没有写文章了,这段时间事情比较杂,工作也比较杂乱,上周日刚搬完家,从自建房搬到了楼房,提升了一层生活品质,哈哈!不过昨天晚上在公交车上钱包被偷了,前段时间还丢个自行车,不得不感叹,京城扒手真多,还无人处理。言归正传,这一段时间我的工作主要是改进公司的调度器,调度器调度线程池执行任务,生产者生产...

2015-10-13 15:58:39

阅读数 254

评论数 0

java多线程通信同步之多Condition通信

public class ThreeConditionCommunication { /** * @param args */ public static void main(String[] args) { final Business business = new Bu...

2015-06-30 22:20:07

阅读数 270

评论数 0

java多线程之线程间同步通信

public class ConditionCommunication { /** * @param args */ public static void main(String[] args) { final Business business = new Busines...

2015-06-30 22:14:35

阅读数 299

评论数 0

java多线程之阻塞队列BlockingQueue的简单应用

public class BlockingQueueTest { public static void main(String[] args) { final BlockingQueue queue = new ArrayBlockingQueue(3); for(int i=0;i&l...

2015-06-30 22:04:17

阅读数 524

评论数 0

java多线程之通过Exchanger线程间传递数据

public class ExchangerTest { public static void main(String[] args) { ExecutorService service = Executors.newCachedThreadPool(); final Exchange...

2015-06-30 21:32:47

阅读数 437

评论数 0

java 多线之用ReadWriteLock实现 一个简单缓存

public class CacheDemo { private Map cache = new HashMap(); private ReadWriteLock rwl = new ReentrantReadWriteLock(); public Object getData(St...

2015-06-30 21:27:25

阅读数 310

评论数 0

java多线程之CountdownLatch简单应用

public class CountdownLatchTest { public static void main(String[] args) { ExecutorService service = Executors.newCachedThreadPool(); final Cou...

2015-06-30 21:21:19

阅读数 320

评论数 0

java多线程之CyclicBarrier简单用法

public class CyclicBarrierTest { public static void main(String[] args) { ExecutorService service = Executors.newCachedThreadPool(); final Cyc...

2015-06-30 21:12:47

阅读数 325

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭