上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 72 下一页
摘要: 1. 闭锁:CountDownLatch 1.1 使用场景 若有多条线程,其中一条线程需要等到其他所有线程准备完所需的资源后才能运行,这样的情况可以使用闭锁。 1.2 代码实现 2. 同步屏障:CyclicBarrier 2.1 使用场景 若有多条线程,他们到达屏障时将会被阻塞,只有当所有线程都到达 阅读全文
posted @ 2018-05-29 11:44 一点点征服 阅读(338) 评论(0) 推荐(0) 编辑
摘要: Executors框架简介 Executor框架便是Java 5中引入的,其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。因此,在Java 5之后,通过Executor来启动线程比使用Thread的start方 阅读全文
posted @ 2018-05-29 11:44 一点点征服 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 多条线程之间有时需要数据交互,下面介绍五种线程间数据交互的方式,他们的使用场景各有不同。 1. volatile、synchronized关键字 PS:关于volatile的详细介绍请移步至:Java并发编程的艺术(三)——volatile 1.1 如何实现通信? 这两种方式都采用了同步机制实现多条 阅读全文
posted @ 2018-05-29 11:43 一点点征服 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 什么是中断? 在Java中没有办法立即停止一条线程,然而停止线程却显得尤为重要,如取消一个耗时操作。因此,Java提供了一种用于停止线程的机制——中断。 中断只是一种协作机制,Java没有给中断增加任何语法,中断的过程完全需要程序员自己实现。若要中断一个线程,你需要手动调用该线程的interrupt 阅读全文
posted @ 2018-05-29 11:42 一点点征服 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 线程的状态 初始态:NEW 创建一个Thread对象,但还未调用start()启动线程时,线程处于初始态。 运行态:RUNNABLE 在Java中,运行态包括就绪态 和 运行态。 就绪态 该状态下的线程已经获得执行所需的所有资源,只要CPU分配执行权就能运行。 所有就绪态的线程存放在就绪队列中。 运 阅读全文
posted @ 2018-05-29 11:41 一点点征服 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 1. 并发编程的两个关键问题 并发是让多个线程同时执行,若线程之间是独立的,那并发实现起来很简单,各自执行各自的就行;但往往多条线程之间需要共享数据,此时在并发编程过程中就不可避免要考虑两个问题:通信 与 同步。 通信 通信是指消息在两条线程之间传递。 既然要传递消息,那接收线程 和 发送线程之间必 阅读全文
posted @ 2018-05-29 11:41 一点点征服 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 当我们写一个单线程程序时,总以为计算机会一行行地运行代码,然而事实并非如此。 什么是重排序? 重排序指的是编译器、处理器在不改变程序执行结果的前提下,重新排列指令的执行顺序,以达到最佳的运行效率。 重排序分类 重排序分为:编译器重排序 和 处理器重排序。 数据依赖 编译器和处理器并不会随意的改变指令 阅读全文
posted @ 2018-05-29 11:40 一点点征服 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 并发是为了提升程序的执行速度,但并不是多线程一定比单线程高效,而且并发编程容易出错。若要实现正确且高效的并发,就要在开发过程中时刻注意以下三个问题: 上下文切换 死锁 资源限制 接下来会逐一分析这三个问题,并给出相应的解决方案。 问题一:上下文切换会带来额外的开销 线程的运行机制 一个CPU每个时刻 阅读全文
posted @ 2018-05-29 11:40 一点点征服 阅读(834) 评论(0) 推荐(0) 编辑
摘要: Android组件化项目地址:Android组件化项目AndroidModulePattern Fragment或View如何支持组件化 如何管理组件 Fragment或View如何支持组件化 如何管理组件 Fragment或View如何支持组件化 如何管理组件 Fragment或View如何支持组 阅读全文
posted @ 2018-05-22 17:35 一点点征服 阅读(5879) 评论(2) 推荐(1) 编辑
摘要: 在Android SDK一文中,我们谈到模块化和组件化,现在我们来聊聊组件化开发背后的哪些事.最早是在广告SDK中应用组件化,但是同样适用于普通应用开发 以下高能,请做好心理准备,看不懂请发私信来交流.本文不推荐新手阅读,如果你刚接触Android开发不久,请立刻放弃阅读本文. 模块化和组件化 模块 阅读全文
posted @ 2018-05-22 17:24 一点点征服 阅读(9415) 评论(0) 推荐(1) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 72 下一页