- 博客(4)
- 收藏
- 关注
原创 java并发处理 synchronized volatile ActomicInteger的关系与区别
java中的多线程并发问题是一个让人头疼的问题,因为当多个线程访问同一个资源时,由于一段操作非原子性,就会导致可能出现操作到一半的时候,cpu时间片被切换到其它线程里面去,最终再切换回来的时候,该线程之前所获取的资源已经相当于失效了,但是该线程并不知道,会继续使用,最终导致脏数据的产生。当然java为了解决这个问题提出了同步机制,现在分析其中三个易搞混的东西。 1. synchronized
2015-04-22 12:09:05 2467
转载 探究Android SQLite3多线程
关于getWriteableDataBase()和getReadableDatabase()的真正作用 getWriteableDataBase()其实是相当于getReadableDatabase()的一个子方法,getWriteableDataBase()是只能返回一个以读写方式打开的SQLiteDatabase的引用,如果此时数据库不可写时就会抛出异常,比如数据库的磁盘空间满了的情况。
2015-04-10 16:47:58 358
原创 ActivityThread ApplicationThread简要记录
android应用ui是绘制在主线程中的,这个线程就是ActivityThread。 但实际上看源码发现ActivityThread并没有继承自Thread,而是一个独立的类,只是在其main方法中开了一个Looper循环消息,不断接收处理发到主线程里面的消息,比如performLaunchActivity. 而ApplicationThread也不是一个Thread,是一个Binder
2015-04-05 15:42:23 1091
原创 ThreadLocal的使用
熟悉Looper源码的朋友可能知道,looper与线程绑定并不是直接set进去的,而是通过ThreadLocal这个东西间接将looper的引用交给当前线程持有的。 Looper.java private static void prepare(boolean quitAllowed) { if (sThreadLocal.get() != null) {
2015-04-04 20:59:29 659
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人