04 2017 档案

摘要:原文地址:http://developer.51cto.com/art/201601/503511.htm 互联网正在高速发展,使用互联网服务的用户越多,高并发的场景也变得越来越多。电商秒杀和抢购,是两个比较典型的互联网高并发场景。虽然我们解决问题的具体技术方案可能千差万别,但是遇到的挑战却是相似的 阅读全文
posted @ 2017-04-28 16:59 HigginCui 阅读(296) 评论(0) 推荐(0)
摘要:【线程间通信概念】 线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体,线程间的通信就成为整体必用方式之一。当线程存在通信指挥,线程间的交互性会更强大,在提高CPU利用率的同时还会使开发人员对线程任务的处理过程中进行有效的把控和监督。 【使用wait和notify的注意点】 阅读全文
posted @ 2017-04-18 00:05 HigginCui 阅读(926) 评论(0) 推荐(0)
摘要:【volatile概念】 volatile关键字的主要作用是是变量在多个线程间可见。 【注意】 在java中,每一个线程都会有一块工作内存区,其中存放着所有线程共享的主内存中的变量的拷贝。当线程执行时,他在自己的工作内存区中操作这些变量。为了存取一个共享的变量,一个线程通常会先获取并去清除它的内存工 阅读全文
posted @ 2017-04-12 00:04 HigginCui 阅读(342) 评论(0) 推荐(0)
摘要:【脏读】 对于对象同步和异步的方法,我们在设计程序的时候,一定要考虑问题的整体,不然会出现不一致的错误,最经典的错误的就是脏读(dirty read)。 【实例代码】 【运行结果:不加synchronized】 【运行结果:加上synchronized】 【关于synchronized代码块】 直接 阅读全文
posted @ 2017-04-10 22:33 HigginCui 阅读(414) 评论(0) 推荐(0)
摘要:【线程安全概念】 当多个线程访问某一个类(或对象、方法)时,这个类始终都能表现出正确的行为,那么这个类就是线程安全的。 【synchronized】 可以在任意对象及方法上加锁,而加锁的这段代码被称为“互斥区”或“临界区”。 【不加synchronized和加synchronized的不同情况】 【 阅读全文
posted @ 2017-04-06 00:01 HigginCui 阅读(251) 评论(0) 推荐(0)