多线程与并发库高级应用
lesetoiles
这个作者很懒,什么都没留下…
展开
-
ThreadLocal线程局部变量
线程内的共享数据:原则 ---方法,表达式或者是模块,当他们在同一线程上运行,他们访问同一变量,应该访问的是同一数据。将数据与线程绑定到一起。换句话说,我线程内的事在我的线程内完成,不受其他线程的影响。线程内共享同一数据对象。即在线程内共享,在线程外独立。原创 2014-09-24 11:00:00 · 1184 阅读 · 1 评论 -
Java中sleep()与wait()的解读
第一种解释:功能差不多,都用来进行线程控制,他们最大本质的区别是:sleep()不释放同步锁,wait()释放同步锁。还有用法的上的不同是:sleep(milliseconds)可以用时间指定来使他自动醒过来,如果时间不到你只能调用interreput()来强行打断,wait()可以用notify()直接唤起。原创 2014-09-24 15:13:10 · 1015 阅读 · 0 评论 -
AsyncTask并发执行的深度剖析
使用AsyncTask时发现一个奇怪的现象,即创建多个任务的时候,他是一个一个按顺序执行的,查资料之后发现:在1.5中初始引入的时候, AsyncTask 执行( AsyncTask.execute() )起来是顺序的,当同时执行多个 AsyncTask的时候,他们会按照顺序一个一个执行。前面一个执行完才会执行后面一个。本文将从源码剖析并以代码演示如何实现顺序执行(AsyncTask.SERIAL_EXECUTOR)及并发执行(AsyncTask.THREAD_POOL_EXECUTOR)!!原创 2014-09-29 17:13:51 · 1670 阅读 · 1 评论