- 博客(35)
- 资源 (1)
- 收藏
- 关注
转载 EWOULDBLOCK = EAGAIN
EWOULDBLOCK = EAGAIN#define EAGAIN 11 /* Try again */ #define EINTR 4 /* Interrupted system call */#define EWOULDBLOCK EAGAIN /* Operation would block */ EAGAIN、EWOULDB
2016-11-20 18:44:39 1115
转载 使用异步 I/O 大大提高应用程序的性能
使用异步 I/O 大大提高应用程序的性能学习何时以及如何使用 POSIX AIO APILinux® 中最常用的输入/输出(I/O)模型是同步 I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待 I/O 请求完成时不需要使用任何中央处理单元(CPU)。但是在某些情况中,I/O 请求可能需要与其他进
2016-11-20 18:36:20 736
转载 linux几种创建进程的方法
linux几种创建进程的方法标签: 进程linux2014-03-24 13:06 750人阅读 评论(0) 收藏 举报 分类:进程 Linux(1) 转自:http://blog.csdn.net/zjg555543/article/details/7419098在Linux中主要提供了fork、vfork、clone三个进程创建方
2016-11-20 17:15:44 608
转载 每个程序员都应该收藏的算法复杂度速查表
每个程序员都应该收藏的算法复杂度速查表算法爱好者2016-11-16 12:31:43阅读(85433)评论(96)声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。举报(点击上方公众号,可快速关注) 英文:http://bigocheatsheet.com/ 编译: Linux中国
2016-11-18 23:07:15 515
转载 在 Ubuntu 虚拟机中安装 VMware Tools
在 Ubuntu 虚拟机中安装 VMware Tools (2041399)Symptoms免责声明:本文为 Installing VMware Tools in an Ubuntu virtual machine (1022525) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。
2016-11-18 18:12:58 788
转载 信号与信号量的区别
信号与信号量的区别: 1.信号:(signal)是一种处理异步事件的方式。信号时比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程外,还可以发送信号给进程本身。linux除了支持unix早期的信号语义函数,还支持语义符合posix.1标准的信号函数sigaction。 2.信号量:(Semaphore)进程间通信处理同步互斥的机制。是在多线程环境下使用
2016-11-18 17:21:36 2194
转载 深入浅出UML类图
深入浅出UML类图 作者:刘伟 ,发布于:2012-11-23,来源:CSDN 在UML 2.0的13种图形中,类图是使用频率最高的UML图之一。Martin Fowler在其著作《UML Distilled: A Brief Guide to the Standard Object Modeling Lang
2016-11-17 11:44:13 508
转载 epoll的两种触发模式
epoll的两种触发模式2013-07-18 23:55 8692人阅读 评论(1) 收藏 举报 分类:C/C++(66) 网络编程(34) linux异步IO浅析 http://hi.baidu.com/_kouu/blog/item/e225f67b337841f42f73b341.html epoll有两种模式,Edge Trig
2016-11-13 17:40:41 683
原创 两个排序数组的中位数
float findMedianSortedArrays(int *a, int lenA, int *b, int lenB){ if (a == NULL || b == NULL || lenA < 1 || lenB < 1) { return 0; } int i = 0; int j = 0; int k = 0;
2016-11-11 15:15:30 674
转载 判断两棵二叉树是否为镜像
01// LeetCode, Symmetric Tree02// 递归版,时间复杂度O(n),空间复杂度O(logn)03class Solution {04public:05 b
2016-11-10 11:13:30 1396
原创 二维数组的参数传递
动态数组的参数传递:char **a;a = new char* [m];//分配指针数组for(int i=0; i{a[i] = new char[n];//分配每个指针所指向的数组}void fun(int **a, int m, int n);fun(a, m, n);静态数组的参数传递char a[5][
2016-11-10 10:44:51 616
转载 参数传递二维数组
参数传递二维数组标签: 编译器functionc2010-06-10 00:31 29319人阅读 评论(9) 收藏 举报 分类:C++基础(7) 版权声明:本文为博主原创文章,未经博主允许不得转载。 今天在论坛上有朋友提问:声明函数如下void function(int** pInt),意图是想参数传递一个二维数组。于
2016-11-10 10:15:55 476
转载 二维数组的动态分配及参数传递
二维数组的动态分配及参数传递1. C语言动态分配二维数组(1)已知第二维Code-1char (*a)[N];//指向数组的指针a = (char (*)[N])malloc(sizeof(char *) * m);printf("%d\n", sizeof(a));//4,指针printf("%d\n", sizeof(a[0]));/
2016-11-10 09:50:41 359
转载 C语言中的二级指针和二维数组问题
C语言中的二级指针和二维数组问题[日期:2015-03-16]来源:Linux社区 作者:fresh七天[字体:大 中 小]关于二级指针和二维数组两者差别很大,不可以直接用二级指针传递二维数组首先来看看二维数组在内存中是如何组织的呢?一维数组 T arr1 = new T[9] 二维数组T arr2 = new
2016-11-09 22:31:06 1479
转载 二级指针和二维数组详解(转)
二级指针和二维数组详解(转) 2010-01-11 14:36:22| 分类: C/C++|举报|字号 订阅 下载LOFTER我的照片书 |一个函数形如:void f(float **p){/* 想要在函数体中按二维数组
2016-11-09 22:30:37 1900
转载 100层楼扔两个鸡蛋的问题
100层楼扔两个鸡蛋的问题 (2014-06-25 16:31:35)转载▼标签: 转载分类: 软件工程原文地址:100层楼扔两个鸡蛋的问题作者:魂之木两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。有座100层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋
2016-11-09 22:07:46 4794
转载 使用位逻辑运算实现位向量
使用位逻辑运算实现位向量标签: classinic2010-04-16 14:50 2505人阅读 评论(5) 收藏 举报 分类:C++(11) 版权声明:本文为博主原创文章,未经博主允许不得转载。我们实现的功能是,给定一个整型(32位)数组,我们输入一个参数i,然后设置数组的i位是1,或是对第i位清零,或是探测第i位的值。这就涉
2016-11-09 21:27:12 1334
转载 大型网站架构系列:分布式消息队列(一)
大型网站架构系列:分布式消息队列(一)以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。本次分享大纲消息队列概述消息队列应用场景消息中间件示例JMS消息服务(见第二篇:大型网站架构系列:分布式消息队列(二))常用消息队列(见第二篇:大型网站架构系列:分布式消息队列(二))参考(推荐)资料(见第二篇:大型网站架构系列:分布
2016-11-09 21:06:38 402
转载 MySQL与NoSQL——SQL与NoSQL的融合
MySQL与NoSQL——SQL与NoSQL的融合 写这一篇内容的原因是MySQL5.6.2突然推出了memcached的功能。NoSQL to InnoDB with Memcached的出现,可以看出NoSQL对关系数据库的确产生了巨大的影响,个人觉得这是一个非常大的进步,可以让开发人员更加方便的使用NoSQL和关系数据库。NoSQL一般被认为性能高于关系数据
2016-11-09 20:56:32 447
转载 数据冗余
数据冗余企业认领开放分类:地理信息系统名词数据结构科技计算机技术计算机科学技术名词数据冗余(英文名称:data redundancy)是指同一数据存储在不同的数据文件中的现象。数据冗余是指数据之间的重复,也可以说是同一数据存储在不同数据文件中的现象。可以说增加数据的独立性和减少数据冗余是企业范围信息资源管理和大规模信息系统获得成功的前提条
2016-11-09 20:23:26 2874
转载 数据不一致性
数据不一致性 编辑数据不一致性,指各类数据的矛盾性、不相容性,其一是由于数据冗余造成的,二是由于并发控制不当造成的,三是由于各种故障、错误造成的。中文名数据不一致性外文名data-incongruence解 释数据的矛盾性、不相容性原因1由于数据冗余造成的原因2由于并发控制不当造成的目
2016-11-09 20:22:06 2359
转载 从关系型数据库到非关系型数据库
从关系型数据库到非关系型数据库标签: NoSQL2014-01-19 13:47 66550人阅读 评论(18) 收藏 举报 分类:NoSQL版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]1. 关系型数据库关系型数据库,是指采用了关系模型来组织数据的数据库。关系模型是在
2016-11-09 20:15:35 373
转载 大型网站架构系列:缓存在分布式系统中的应用(二)
大型网站架构系列:缓存在分布式系统中的应用(二)缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。提供高性能的数据快速访问。本文是缓存在分布式应用第二篇文章,介绍分布式缓存,Memcache,Redis,本地缓存(硬盘缓存,内存缓存)以及缓存在分布式系统中的架构示例。本文主要是自己的学习总结和网络文章摘录,供学习之用。本次分享大纲缓存概
2016-11-08 10:31:20 357
转载 C/C++内存管理详解
C/C++内存管理详解By ShinChan Published Sep 25 2014Contents1. 内存分配方式1.1. 简介1.2. 明确区分堆与栈1.3. 堆和栈究竟有什么区别2. 控制C++的内存分配2.1. 重载全局的new和delete操作符2.2. 为单个的类重载new[]和delete[]3. 常见的内存错误及其对策4. 针与
2016-11-08 08:34:21 406
转载 C++构造函数中抛出的异常
C++构造函数中抛出的异常标签: c++exceptionstringclass测试c2011-04-19 10:03 9548人阅读 评论(1) 收藏 举报 分类:C/C++(69) 程序设计(61) 构造函数中抛出的异常 1、标准C++中定义构造函数是一个对象构建自己,分配所需资源的地 方,一旦构造函数执行完毕,则表明这个对象已
2016-11-04 09:47:57 326
转载 构造函数、析构函数抛出异常的问题
构造函数、析构函数抛出异常的问题1. 抛出异常1.1 抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常。该语句的格式为: throw 表达式;如果在try语句块的程序段中(包括在其中调用的函数)发现了异常,且抛弃了该异常,则这个异常就可以被try语句块后的某个catch语句所捕获并处理,捕获和处理的
2016-11-04 09:40:48 422
转载 互斥锁,自旋锁与自适应自旋锁
互斥锁,自旋锁与自适应自旋锁标签: 线程安全锁自适应锁互斥锁与自旋锁Java不同的线程锁2016-05-03 13:39 79人阅读 评论(0) 收藏 举报 分类:Java基础(21) 版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]线程安全与锁的优化互斥锁:从 实现原理
2016-11-04 09:36:15 1001
转载 C++11实现自旋锁
C++11实现自旋锁By 破晓 发表于 2014-04-20文章目录1. 自旋锁(Spinlock)2. 自旋锁的原理3. 使用C++11的原子操作实现自旋锁3.1. 指定内存序提高性能3.2. 不使用CAS(compare-and-swap)的实现3.3. 使用std::atomic_flag的实现自旋锁(Spinlock)自旋锁是一种用于保护多线
2016-11-04 09:34:30 543
转载 高性能自旋锁 MCS Spinlock 的设计与实现
高性能自旋锁 MCS Spinlock 的设计与实现自旋锁(Spinlock)是一种在 Linux 内核中广泛运用的底层同步机制。排队自旋锁(FIFO Ticket Spinlock)是 Linux 内核 2.6.25 版本中引入的一种新型自旋锁,它解决了传统自旋锁由于无序竞争导致的“公平性”问题。但是由于排队自旋锁在一个共享变量上“自旋”,因此在锁竞争激烈的多核或 NUMA
2016-11-03 22:37:12 703
转载 读写锁
在许多情况下,数据的读取比修改或写入更频繁。在这些情况下,可允许线程在保留锁的同时进行读取,且在修改数据时只允许一个线程保留锁。多读单写锁(或读写锁)可做到这一点。在读取或写入时获取读写锁,然后将其释放。获取读写锁的线程一定是释放它的线程。读写属性对象pthread_rwlockattr_init 子例程初始化读写锁属性对象 (attr)。所有属性的缺省值由该实现来定义。如
2016-11-03 22:36:01 341
转载 读写自旋锁详解,第 1 部分
读写自旋锁详解,第 1 部分原理读写自旋锁是一种特殊的自旋锁,它将访问共享资源的线程区分为读者和写者,多个读者可以同时持有锁,因而提高了线程的并发性。本系列由三篇文章组成,本文是系列文章的第一部分,以自动机的观点阐述读写自旋锁的原理。后续两篇文章论述如何设计和实现基于简单共享变量的读写自旋锁,以及针对大规模多核系统讨论如何提高读写自旋锁的可扩展性。0 评论
2016-11-03 17:39:25 453
转载 c++单利对象的释放
C 单例模式(线程安全、内存释放) itdadao 2016-08-09 08:53:06 技术 27 ℃ 暂无评论一、懒汉模式:即第一次调用该类实例的时候才产生一个新的该类实例,并在以后仅返回此实例。 需要用锁,来保证其线程安全性:原因:多个线程可能进入判断是否已经存在实例的if语句,从而non thread safety. 使用double-check来保
2016-11-03 17:00:53 868 1
原创 单例对象的释放
class CSingleton { private: CSingleton() //构造函数是私有的 { } public: static CSingleton * GetInstance() { instance = new CSingleton; //局部静态变量 retu
2016-11-03 16:54:34 914
转载 C++中单例对象的内存自动释放
C++中单例对象的内存自动释放Posted on 2015年7月4日 by IceCoffee0 Comments单例模式是一种在设计中很常用的模式,通过static函数创建一个对象,以后的所有的数据都通过该函数操作,保持数据唯一,用起来也很方便,但是有个小小的问题,就是单例对象的释放问题,一般我们都是程序退出的时候统一释放对象,但是这并不是特别完美,有时候
2016-11-03 16:44:19 2831
转载 C++单例模式如何进行释放控制
C++单例模式如何进行释放控制2010-01-27 10:45 佚名 CSDN 字号:T | T想要充分的掌握C++单例模式相关技术,那么就要对C++中的结构、语句、变量、函数、预处理指令、输入和输出等内容进行了解掌握。AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验C++单例模式也称为单件模式、单子
2016-11-03 16:39:34 1155
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人