当前位置:首页 » 并发

并发

11
阅读

flume高并发优化——(10)消灭elasticsearch sink多次插入

在flume作为通道接收json数据时,最近遇到一个问题,当flume-es-sink遭遇一个错误的时候,会不断尝试插入数据,而以前的数据又没有进行回滚,导致数据重复插入,脏数据累...
来源 2016-08-19 18:14
4
阅读

Java并发编程:Timer和TimerTask

下面内容转载自:/content/527929.html其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个类,而具体的TimerTask需要由你自己来实现,例如这样:这里...
来源 2016-08-18 10:41
4
阅读

Java ConcurrentModificationException异常原因和解决方法

在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论以下这个异常出...
来源 2016-08-18 10:27
2
阅读

同步互斥访问 - synchronized关键字

单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一个资源的情况。由于每个线程执行的过程是不可控的,所以很可能导致最终的结果与实际上的愿望...
来源 2016-08-17 18:14
3
阅读

Java并发编程:同步容器

为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器、并发容器、阻塞队列、Synchronizer(比如CountDownLatch)。今天我们就来讨论...
来源 2016-08-17 10:00
2
阅读

Java并发编程:深入剖析ThreadLocal

想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分...
来源 2016-08-17 09:58
3
阅读

Java并发编程:volatile关键字解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java5之后,volatile...
来源 2016-08-17 09:50
2
阅读

Java并发编程:synchronized

虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来...
来源 2016-08-17 08:10
1
阅读

Java并发编程:Lock

在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java5之后,在java.util.concurrent.locks包下提供了另外一种方式...
来源 2016-08-17 08:10
1
阅读

Java垃圾回收机制

说到垃圾回收(GarbageCollection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处...
来源 2016-08-17 08:09
5
阅读

Java并发编程:Thread类的使用

在前面2篇文章分别讲到了线程和进程的由来、以及如何在Java中怎么创建线程和进程。今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种...
来源 2016-08-16 23:00
2
阅读

Java并发编程:如何创建线程、进程?

在前面一篇文章中已经讲述了在进程和线程的由来,今天就来讲一下在Java中如何创建线程,让线程去执行一个子任务。下面先讲述一下Java中的应用程序和进程相关的概念知识,...
来源 2016-08-16 22:54
4
阅读

Java并发编程-Lock和condition的原理及AQS的运用

AQS的全称为(AbstractQueuedSynchronizer),这个类也是在java.util.concurrent.locks下面。这个类似乎很不容易看懂,因为它仅仅是提供了一系列公共的方法,让子...
来源 2016-08-16 19:33
1
阅读

设计模式之禅--单例模式

单例模式的定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。古代的皇帝就应该是一个单例,见代码[code]packagecom.sdkd.hms;publicclassEmpero...
来源 2016-08-16 19:24
3
阅读

Java多线程基础:进程和线程之由来

在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:Java并发编程。当然,Java并发编程涉及到很多方面的内容,不是一朝一夕就能够融会贯通使用的,...
来源 2016-08-16 19:10
5
阅读

Java并发编程:并发容器之ConcurrentHashMap

JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全性,所以...
来源 2016-08-16 19:04
3
阅读

Java并发编程:并发容器之CopyOnWriteArrayList

Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成...
来源 2016-08-16 18:59
1
阅读

Java并发编程:Callable、Future和FutureTask

在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。如...
来源 2016-08-16 18:50
4
阅读

Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition

在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商...
来源 2016-08-16 17:01
2
阅读

Java并发编程(七)ConcurrentLinkedQueue的实现原理和源码分析

相关文章Java并发编程(一)线程定义、状态和属性Java并发编程(二)同步Java并发编程(三)volatile域Java并发编程(四)Java内存模型Java并发编程(五)ConcurrentHashM...
来源 2016-08-14 17:21
3
阅读

多线程的使用注意点

有效利用多线程的关键是理解程序是并发执行而不是串行执行的。例如:程序中有两个子系统需要并发执行,这时候就需要利用多线程编程。通过对多线程的使用,可以编写出非常...
来源 2016-08-11 23:45
2
阅读

并发和并行的区别

并发是指在一个时间段,多条指令串行执行,但由于CPU轮换速度非常快,所以可以看做多条指令同时进行。并行是指在一个时间点,多条指令在多个处理机上同时执行。你吃饭吃...
来源 2016-08-11 15:49
3
阅读

CoreData—多线程

MOC并发队列类型在CoreData中MOC是支持多线程的,可以在创建MOC对象时,指定其并发队列的类型。当指定队列类型后,系统会将操作都放在指定的队列中执行,如果指定的是私...
来源 2016-08-11 13:15
27
阅读

PHP通过加锁实现并发情况下抢码功能

需求:抢码功能要求:1、特定时间段才开放抢码;2、每个时间段放开的码是有限的;3、每个码不允许重复;实现:1、在不考虑并发的情况下实现:functionget_code($len){$CHA...
来源 2016-08-10 00:00
3
阅读

高并发数据结构Disruptor解析(6)

SequenceBarrierSequenceBarrier是消费者与Ringbuffer之间建立消费关系的桥梁,同时也是消费者与消费者之间消费依赖的抽象。SequenceBarrier只有一个实现类,就是Processi...
来源 2016-08-08 10:56