最近跟着java视频学到了多线程这块,觉着这块比较复杂,所以做个小总结。多线程安全问题的原因:通过图解:发现一个线程在执行多条语句时,并运算同一个数据时,在执行过程中,其他线程参与进来,并操作了这个数据。导致到了错误数据的产生。涉及到两个因素:1,多个线程在操作..
分类:
编程语言 时间:
2015-01-22 15:44:17
阅读次数:
136
此篇文章写的是JDK1.5升级版的生产者和消费者。
Java 升级之后的解决方法:
Lock
java.util.concurrent.locks
接口 Lock
所有已知实现类: ReentrantLock,
ReentrantReadWriteLock.ReadLock,
ReentrantReadWriteLock.WriteLock...
分类:
编程语言 时间:
2015-01-19 22:41:28
阅读次数:
256
生产者和消费者问题是多线程通信的经典问题。这类问题描述了这样一种情况:假设有一个仓库,用来存储产品,有生产者负责生产产品,有消费者负责消费。生产者生产的产品存放在仓库之中,消费者从仓库之中取出产品。显然这是一个同步问题,生产者和消费者共享同一资源,并且生产者和消费者之间彼此依赖,互为条件向前推进。那么,该如何编写代码来实现呢?
class Resource {
private String...
分类:
编程语言 时间:
2015-01-19 17:15:55
阅读次数:
251
class Res {
String name;
String sex;
}
class Input implements Runnable {
private Res r;
public Input(Res r) {
// TODO Auto-generated constructor stub
this.r = r;
}
public void run() {
i...
分类:
编程语言 时间:
2015-01-18 22:49:16
阅读次数:
322
本文转载至 http://blog.csdn.net/chen505358119/article/details/9344389 CoreData中的NSManagedObjectContext在多线程中不安全,如果想要多线程访问CoreData的话,最好的方法是一个线程一个NSManaged...
分类:
编程语言 时间:
2015-01-16 13:02:51
阅读次数:
130
linux下面使用c++实现单例模式,加锁多线程安全...
分类:
编程语言 时间:
2015-01-06 15:40:32
阅读次数:
191
利用C/C++开发大型应用程序中,内存的管理与分配是一个需要认真考虑的部分。本文描述了内存池设计原理并给出内存池的实现代码,代码支持Windows和Linux,多线程安全。内存池设计过程中需要考虑好内存的分配与释放问题,其实也就是空间和时间的矛盾。有的内存池设计得很巧妙,内存分配与需求相当,但是.....
分类:
编程语言 时间:
2015-01-05 18:14:56
阅读次数:
192
单例模式:
定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。
GetInstance是一个静态方法,主要负责创建自己的唯一实例,然后允...
分类:
其他好文 时间:
2014-12-21 13:58:58
阅读次数:
176
还是之前卖票的例子:
class Test implements Runnable
{
private int num = 50;
Object obj = new Object();
public void run ()
{
while (true)
{
if (num >= 0)...
分类:
编程语言 时间:
2014-12-14 17:16:53
阅读次数:
128
Java内存模型是保障多线程安全的根基,这里不过认识型的理解总结并未深入研究。一、什么是内存模型,为什么须要它Java内存模型(Java Memory Model)并发相关的安全公布,同步策略的规范、一致性等都来自于JMM。1 平台的内存模型在架构定义的内存模型中将告诉应用程序能够从内存系统中获得如...
分类:
编程语言 时间:
2014-11-04 17:13:49
阅读次数:
204