自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

转载 对条件变量(condition variable)的讨论

semaphorethreadsignalvariableslinuxjavadoc目录(?)[+]作者:王东 1.1       什么是条件变量和条件等待?简单的说:条件变量(condition variable)是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待某个条件为真,而将自己挂起;另一个线程使的条件成立,并通知等待的线程继续。为

2014-01-22 22:58:34 2329

转载 进程间的通信(互斥锁、条件变量、读写锁、文件锁、信号灯)

为了能够有效的控制多个进程之间的沟通过程,保证沟通过程的有序和和谐,OS必须提供一定的同步机制保证进程之间不会自说自话而是有效的协同工作。比如在共享内存的通信方式中,两个或者多个进程都要对共享的内存进行数据写入,那么怎么才能保证一个进程在写入的过程中不被其它的进程打断,保证数据的完整性呢?又怎么保证读取进程在读取数据的过程中数据不会变动,保证读取出的数据是完整有效的呢?     常用的同步方式

2014-01-22 22:55:57 1633 1

转载 java linkedblocking queue

随着多线程基础总结的增多,却明显的感觉知道的越来越少,好像转了一圈又回到了什么都不懂的起点。不过还是试着介绍一下队列的并发实现,努力尽快的驱散迷雾。队列这个数据结构已经很熟悉了,利用其先进先出的特性,多数生产消费模型的首选数据结构就是队列。对于有多个生产者和多个消费者线程的模型来说,最重要是他们共同访问的Queue是线程安全的。JDK中提供的线程安全的Queue的实现还是很丰富的:ArrayBlo

2014-01-22 10:35:12 969

转载 多线程队列的算法优化

http://www.parallellabs.com/2010/10/25/practical-concurrent-queue-algorithm/多线程队列(Concurrent Queue)的使用场合非常多,高性能服务器中的消息队列,并行算法中的Work Stealing等都离不开它。对于一个队列来说有两个最主要的动作:添加(enqueue)和删除(dequeue)节点。在

2014-01-21 22:17:43 926

转载 Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms

Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue AlgorithmsPseudocode from article of the above name in PODC96 (with two typos corrected), by Maged M. Michael and Michael

2014-01-21 17:15:21 1325

转载 pthread_cond_wait 详解

原文: http://apps.hi.baidu.com/share/detail/19786281http://hi.baidu.com/boobleoo0/blog/item/5f935039a37c58f8b311c77f.html http://topic.csdn.net/u/20110105/16/12717238-9816-4571-a03d-e8b603724946

2014-01-21 16:30:09 753

转载 Implement a BlockingQueue using conditon variable

One problem that comes up time and again with multi-threaded code is how to transfer data from one thread to another. Forexample, one common way to parallelize a serial algorithm is to split it into i

2014-01-19 15:58:10 953

转载 RST攻击

在谈RST攻击前,必须先了解TCP:如何通过三次握手建立TCP连接、四次握手怎样把全双工的连接关闭掉、滑动窗口是怎么传输数据的、TCP的flag标志位里RST在哪些情况下出现。下面我会画一些尽量简化的图来表达清楚上述几点,之后再了解下RST攻击是怎么回事。1、TCP是什么? TCP是在IP网络层之上的传输层协议,用于提供port到port面向连接的可靠的字节流传输。我来用土语解释下上面

2014-01-17 20:46:09 840

转载 Linux下同步模式、异步模式、阻塞调用、非阻塞调用总结

同步和异步:与消息的通知机制有关。 本质区别现实例子同步模式由处理消息者自己去等待消息是否被触发我去银行办理业务,选择排队等,排到头了就办理。异步模式由触发机制来通知处理消息者我去银行办理业务,取一个小纸条上面有我的号码,等到排到我这一号时由柜台的人通知我轮到我去办理

2014-01-16 11:46:17 569

转载 Quikselect -code

#include using namespace std;// A simple print functionvoid print(int *input){ for ( int i = 0; i 5; i++ ) cout input[i] " "; cout endl;}int partition(int* input, int p, in

2014-01-14 23:23:54 603

转载 Oracle系列之七 并发与多版本控制

一、概述并发是指多个会话同时访问同一资源。多版本是指Oracle数据库可以同时物化多个版本的数据,是通过undo段来做到的。二、事务隔离级别Oracle数据库仅有三种事务隔离级别:Read Committed、Serializable和ReadOnly,其中Read Only是Oracle数据库特有的事务隔离级别。通过三种现象来定义事务隔离级别的:脏读:一个会话可以读到别的

2014-01-12 22:26:29 1260

转载 socket 的通信过程

下图是基于TCP协议的客户端/服务器程序的一般流程:服务器调用socket()、bind()、listen()完成初始化后,调用accept()阻塞等待,处于监听端口的状态,客户端调用socket()初始化后,调用connect()发出SYN段并阻塞等待服务器应答,服务器应答一个SYN-ACK段,客户端收到后从connect()返回,同时应答一个ACK段,服务器收到后从accept

2014-01-11 23:50:47 731

转载 How to Tune Java Garbage Collection

This is the third article in the series of "Become a Java GC Expert". In the first issueUnderstanding Java Garbage Collection we have learned about the processes for different GC algorithms, about

2014-01-08 09:38:59 734

转载 The Principles of Java Application Performance Tuning

This is the fifth article in the series of "Become a Java GC Expert". In the first issueUnderstanding Java Garbage Collection we have learned about the processes for different GC algorithms, about

2014-01-07 23:11:55 866

转载 Understanding Java Garbage Collection

What are the benefits of knowing how garbage collection (GC) works in Java? Satisfying the intellectual curiosity as a software engineer would be a valid cause, but also, understanding how GC works

2014-01-07 23:09:56 558

原创 JVM 优化总结

JVM 的调优主要在以下几个方面:1 内存堆设置2 GC所用到的eden, survior, old 的设置3 GC类型的选择4 尽量减少Minor GC和Full GC的次数下面从吞吐量和响应时间这两个方面来对这些参数进行设置:首先进行一些典型的设置:   1) Heap方面:  -Xmx: -xms: 设置相同减少内存伸缩带来的时间  2) Young gern

2014-01-07 23:07:46 650

转载 JVM参数设置、分析

不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同

2014-01-07 22:08:29 601

转载 Java: abstract and interface difference

在Java语言中,abstract class和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的

2014-01-05 21:56:02 704

转载 Fastest Way to Update Rows in a Large Table in SQL Server

Many a times, you come across a requirement to update a large table in SQL Server that has millions of rows (say more than 5 millions) in it. In this article I will demonstrate a fast way to update ro

2014-01-05 16:32:25 626

转载 Popular HashMap and ConcurrentHashMap interview questions

In my previous post related to “How HashMap works in java“, I explained the internals of HashMap class and how they fit into whole concept. But when interviewer ask you about HashMap related concept

2014-01-05 11:19:00 607

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除