摘要:ThreadLocal使每个线程都可以拥有某个变量的一个私有“版本”。然而,只要条件允许,Executor可以自由地重用这些线程。在标准的Executor实现中,当执行需求较低时将回收空闲线程,而当需求增加时将添加新的线程,并且如果从任务中抛出了一个未检查异常,那么将用一个新的工作者线程来替代抛出异...
阅读全文
摘要:一个在行为良好的软件与勉强运行的软件之间的最主要区别就是,行为良好的软件能很完善地处理失败、关闭和取消等过程。取消某个操作的原因很多:用户取消。有时间限制的操作。例如,某个应用程序需要在有限时间内搜索问题空间,并在这个时间内选择最佳的解决方案。应用程序事件。例如,应用程序对某个问题空间进行分解并搜索...
阅读全文
摘要:如果可运行的线程数量多于可用处理器的数量,那么有引动线程将闲置。大量空闲的线程会占用许多内存,给垃圾回收器带来压力,而且大量线程在竞争CPU资源时还将产生其他的性能开销。任务是一组逻辑工作单元,而线程则是使任务异步执行的机制。我们已经分析了两种通过线程来执行任务的策略,即把所有任务放在单个线程中串行...
阅读全文
摘要:同步容包括Vector和Hashtable,这些同步的封装器类是由Collections.synchronizedXxx等工厂方法创建的。这些类实现线程安全的试是: 将它们的状态封装起来,并对每个公有方法都进行同步,使得每次只有一个线程能访问容器的状态。同步容器类都是线程安全的,但在某些情况下可能需...
阅读全文
摘要:未处理时的效果想要达到的效果设置自定义主题 引用主题 public MyDialog(Context context) { super(context, R.style.CustomDialog); mContext = context; ini...
阅读全文
摘要:android.support.v7.app.ActionBarDrawerToggle mDrawerToggle.setDrawerIndicatorEnabled(false); //disable "hamburger to arrow" drawable mDr...
阅读全文