2016年8月2日

java wait和notify

摘要: wait方法是Object类的方法,这意味着所有的Java类都可以调用该方法。wait方法貌似能让当前线程暂停执行完,其它也没有什么用处,但是你真的理解了wait方法了吗?wait方法在java中很多地方都有用到,实现Thread类的join方法,内部就使用了wait,所以wait方法需要大家去掌握 阅读全文

posted @ 2016-08-02 16:24 mh-lhw 阅读(1555) 评论(0) 推荐(0) 编辑

Java中的synchronized

摘要: 锁的概念大家都比较熟悉了,当某个线程A已经持有了一个锁,当线程B尝试进入被这个锁保护的代码段的时候.就会被阻塞.而锁的操作粒度是”线程”,而不是调用。每个Java对象都可以用做一个实现同步的互斥锁(synchronized),这些锁被称为内置锁。线程进入同步代码块或方法时自动获得内置锁,退出同步代码 阅读全文

posted @ 2016-08-02 15:55 mh-lhw 阅读(1171) 评论(0) 推荐(0) 编辑

Java线程状态

摘要: 线程的状态转换是线程控制的基础,下面我们看一下图 1. 新建(new):新创建了一个线程对象。2. 可运行(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。 该状态的线程位于可运行线程池中, 等待被线程调度选中, 获取cpu的使用权。3. 运行(ru 阅读全文

posted @ 2016-08-02 11:55 mh-lhw 阅读(238) 评论(0) 推荐(0) 编辑

2016年8月1日

java volatile不能保证原子性

摘要: Java中long和double赋值不是原子操作,因为先写32位,再写后32位,分两步操作,这样就线程不安全了。如果改成下面的就线程安全了private volatile long number = 8;那么,为什么是这样?volatile关键字难道可以保证原子性?java程序员很熟悉的一句话:vo 阅读全文

posted @ 2016-08-01 19:02 mh-lhw 阅读(5777) 评论(0) 推荐(2) 编辑

java多线程安全

摘要: 服务端编程的3大性能杀手:1、大量线程导致的线程切换开销。2、锁。3、非必要的内存拷贝。所以说锁在多线程编程中的地位是很重要的。我们找工作的时候,经常会谈到多线程,貌似多线程挺难的,很值得技术人员拿出来说说。那么我们讲来讲去,多线程到底难在什么地方?会不会是因为编程语言在多线程编程方面的基础设施没有 阅读全文

posted @ 2016-08-01 18:39 mh-lhw 阅读(214) 评论(0) 推荐(0) 编辑

2014年8月15日

ubuntu 12.04 server ntp同步

摘要: ubuntu和windows对计算机硬件保存的时间解释可能是不一样的。windows默认把硬件时间当做local time,而ubuntu把硬件时间当做UTC(Coordinated Universal Time 世界统一时间)。ubuntu 默认开启UTC,不过可以关闭UTC,方法:sudo ge... 阅读全文

posted @ 2014-08-15 11:22 mh-lhw 阅读(464) 评论(0) 推荐(0) 编辑

导航