线程同步: 当使用多个线程来访问同一个数据时,非常容易出现线程安全问题(比如多个线程都在操作同一数据导致数据不一致),所以我们用同步机制来解决这些问题。 实现同步机制的方法: 1:同步代码块 Synchronized(同一个数据){} 同一个数据:就是N条线程同时访问一个数据 2:public Sy ...
分类:
编程语言 时间:
2017-07-17 20:22:56
阅读次数:
216
阅读目录 synchronized同步块 volatile同步变量 阅读目录 synchronized同步块 volatile同步变量 Java语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较 ...
分类:
其他好文 时间:
2017-07-16 23:26:22
阅读次数:
198
生产者和消费者的例子 一、wait() / notify()方法 wait() / nofity()方法是基类Object的两个方法,也就意味着所有Java类都会拥有这两个方法,这样,我们就可以为任何对象实现同步机制。 wait()方法:当缓冲区已满/空时,生产者/消费者线程停止自己的执行,放弃锁, ...
分类:
编程语言 时间:
2017-07-09 19:37:34
阅读次数:
172
Java内存模型与线程 1. 硬件效率与一致性 计算并发运行的运行和充分利用计算机处理器的效能两者看来是互为因果的,而在大多数的时候,计算机的处理速度不止是在处理器进行的,大多数是在内存和处理器进行的,但是这种I/O操作是很难消除的。为了提升计算速度,在内存和处理器之间加上一个高速缓存来作为内存和处 ...
分类:
编程语言 时间:
2017-07-09 14:43:47
阅读次数:
219
(1) 最大的障碍在于速度:解释过的Java要比C的执行速度慢上约20倍。无论什么都不能阻止Java语言进行编译。写作本书的时候,刚刚出现了一些准实时编译器,它们能显著加快速度。当然,我们完全有理由认为会出现适用于更多流行平台的纯固有编译器,但假若没有那些编译器,由于速度的限制,必须有些问题是Jav ...
分类:
编程语言 时间:
2017-07-08 18:52:33
阅读次数:
162
在非阻塞算法中不存在死锁和其他活跃性问题。 在基于锁的算法中,如果一个线程在休眠或自旋的同时持有一个锁,那么其他线程都无法执行下去,而非阻塞算法不会受到单个线程失败的影响。 锁的劣势 许多JVM都对非竞争锁获取和释放操作进行了极大的优化,但如果有多个线程同时请求锁,那么JVM就需要借助操作系统地功能 ...
分类:
编程语言 时间:
2017-07-07 18:14:50
阅读次数:
254
线程同步的真实意思恰好相反,其实是“排队”。当使用多个线程来访问同一个数据时,非常容易出现线程安全问题(比如多个线程都在操作同一数据导致数据不一致),所以我们用同步机制来解决这些问题。实现同步机制有两个方法: 线程安全的类: 注意:synchronized关键字可以修饰方法,也可以修饰代码块,但不能 ...
分类:
编程语言 时间:
2017-07-07 10:20:30
阅读次数:
219
论事件驱动与异步IO 原文:http://www.cnblogs.com/alex3714/articles/5248247.html常,我们写服务器处理模型的程序时,有以下几种模型: (1)每收到一个请求,创建一个新的进程,来处理该请求; (2)每收到一个请求,创建一个新的线程,来处理该请求; ( ...
分类:
编程语言 时间:
2017-07-02 11:39:42
阅读次数:
172
我们知道大多数程序都不会是单线程程序,单线程程序的功能非常有限,我们假设一下所有的程序都是单线程程序,那么会带来怎样的结果呢?假如淘宝是单线程程序,一直都只能一个一个用户去访问,你要在网上买东西还得等着前面千百万人挑选购买,最后心仪的商品下架或者售空......假如饿了吗是单线程程序,那么一个用户得 ...
分类:
编程语言 时间:
2017-07-02 00:14:35
阅读次数:
222
恩布企业IM PC端,服务端公布1.16版本号,开源企业IM。免费企业即时通讯软件;主要版本号更新内容: 恩布服务端核心程序,添加进程守护保护机制,确保系统7*24持续稳定服务; 服务端添加内存数据库同步机制。降低直接操作数据库。提高系统性能。 PCclient优化界面和操作体验,如添加联系人移到其 ...
分类:
其他好文 时间:
2017-07-01 18:28:52
阅读次数:
215