随笔分类 -  线程

多线程设计模式
摘要:多线程开发可以更好的发挥多核cpu性能,常用的多线程设计模式有:Future、Master-Worker、Guard Susperionsion、不变、生产者-消费者 模式;jdk除了定义了若干并发的数据结构,也内置了多线程框架和各种线程池; 锁(分为内部锁、重入锁、读写锁)、ThreadLocal 阅读全文

posted @ 2019-01-15 11:55 我是司 阅读(2107) 评论(0) 推荐(0) 编辑

Java经典实例:使用DateFormatter来格式化日期时间
摘要:Java版本:1.8开始 运行输出: 阅读全文

posted @ 2019-01-08 14:14 我是司 阅读(5638) 评论(1) 推荐(0) 编辑

Java经典实例:纪元秒和本地日期时间互换
摘要:Java版本:1.8开始 运行输出: 阅读全文

posted @ 2019-01-08 14:10 我是司 阅读(498) 评论(0) 推荐(0) 编辑

Java经典实例:把字符串解析为日期时间
摘要:Java版本:1.8开始 运行输出: 阅读全文

posted @ 2019-01-08 14:09 我是司 阅读(3418) 评论(0) 推荐(0) 编辑

Java 经典实例:自定义迭代器
摘要:编写自己的Iterator,实现Iterator接口,这里多说一句,实现Iterable后,可以用“foreach”循环遍历你的对象。 执行结果: 阅读全文

posted @ 2019-01-08 14:08 我是司 阅读(1401) 评论(0) 推荐(0) 编辑

Java经典实例:实现一个简单堆栈
摘要:堆栈(Stack)是一种常见的数据结构,符合后进先出(First In Last Out)原则,通常用于实现对象存放顺序的逆序。栈的基本操作有push(添加到堆栈),pop(从堆栈删除),peek(检测栈顶元素且不删除)。 阅读全文

posted @ 2019-01-08 14:01 我是司 阅读(1084) 评论(0) 推荐(0) 编辑

Java经典实例:进阶版堆栈实现,支持任何对象类型
摘要:支持任何对象类型,有更多的错误检查。 package Stack; 阅读全文

posted @ 2019-01-08 13:56 我是司 阅读(303) 评论(0) 推荐(0) 编辑

Java在不同线程中运行代码
摘要:start()方法开始为一个线程分配CPU时间,这导致对run()方法的调用。 代码1 代码2: 代码3: 阅读全文

posted @ 2019-01-08 13:49 我是司 阅读(447) 评论(0) 推荐(0) 编辑

Java通过在主循环中判断Boolean来停止线程
摘要:Java代码: 阅读全文

posted @ 2019-01-08 13:42 我是司 阅读(694) 评论(0) 推荐(0) 编辑

Java关闭Socket来终止线程
摘要:Java代码: 阅读全文

posted @ 2019-01-08 13:41 我是司 阅读(2909) 评论(0) 推荐(0) 编辑

Java通过Fork/Join来优化并行计算
摘要:Java代码: 阅读全文

posted @ 2019-01-08 13:39 我是司 阅读(528) 评论(0) 推荐(0) 编辑

Java通过wait()和notifyAll()方法实现线程间的通信
摘要:Java代码(使用了2个内部类): 阅读全文

posted @ 2019-01-08 13:38 我是司 阅读(380) 评论(0) 推荐(0) 编辑

Java通过join方法来暂停当前线程
摘要:目标线程的join方法暂停当前线程,直到目前线程完成(从run()方法返回)。 Java代码: 阅读全文

posted @ 2019-01-08 13:37 我是司 阅读(679) 评论(0) 推荐(0) 编辑

synchronized 同步对象概念
摘要:解决上述问题之前,先理解synchronized关键字的意义如下代码: Object someObject =new Object(); synchronized (someObject){ //此处的代码只有占有了someObject后才可以执行 } synchronized表示当前线程,独占 对 阅读全文

posted @ 2018-12-29 10:37 我是司 阅读(1140) 评论(0) 推荐(0) 编辑

线程交互
摘要:使用synchronized方式进行线程交互,用到的是同步对象的wait,notify和notifyAll方法Lock也提供了类似的解决办法,首先通过lock对象得到一个Condition对象,然后分别调用这个Condition对象的:await, signal,signalAll 方法注意: 不是 阅读全文

posted @ 2018-12-29 09:50 我是司 阅读(378) 评论(0) 推荐(0) 编辑

总结Lock和synchronized的区别
摘要:1. Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现,Lock是代码层面的实现。2. Lock可以选择性的获取锁,如果一段时间获取不到,可以放弃。synchronized不行,会一根筋一直获取下去。 借助Lock的这个特性,就能够规避死锁 阅读全文

posted @ 2018-12-29 09:50 我是司 阅读(255) 评论(0) 推荐(0) 编辑

trylock方法
摘要:synchronized 是不占用到手不罢休的,会一直试图占用下去。 synchronized 是不占用到手不罢休的,会一直试图占用下去。 synchronized 是不占用到手不罢休的,会一直试图占用下去。 与 synchronized 的钻牛角尖不一样,Lock接口还提供了一个trylock方法 阅读全文

posted @ 2018-12-29 09:48 我是司 阅读(4997) 评论(0) 推荐(0) 编辑

使用Lock对象实现同步效果
摘要:Lock是一个接口,为了使用一个Lock对象,需要用到 Lock是一个接口,为了使用一个Lock对象,需要用到 Lock是一个接口,为了使用一个Lock对象,需要用到 Lock lock = new ReentrantLock(); 与 synchronized (someObject) 类似的,l 阅读全文

posted @ 2018-12-29 09:44 我是司 阅读(528) 评论(0) 推荐(0) 编辑

借助线程池同步查找文件内容
摘要:package multiplethread; import java.io.File; import java.io.FileReader; import java.io.IOException; public class SearchFileTask implements Runnable{ p 阅读全文

posted @ 2018-12-29 09:39 我是司 阅读(416) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示