- 博客(15)
- 资源 (2)
- 收藏
- 关注
原创 mysql odbc 5.3 install error 13: system error code 126
mysql odbc 5.3 install error 13: system error code 126
2016-04-13 16:20:41
5700
2
转载 ZooKeeper系列之一:Zookeeper伪集群环境搭建
ZooKeeper的部署方式主要有三种,单机模式、伪集群模式、集群模式。其实剩下的两种模式都是集群模式的特殊情况。这里我采取部署伪集群模式来说明,了解伪集群模式的部署方式,基本也就知道单机模式和集群模式该如何部署了!1.下载ZK的部署包我这里选用cloudera的3.3.3定制版,ZK下载地址:http://archive.cloudera.com/cdh/3/zookee
2014-04-10 17:02:08
728
原创 使用c++11重新实现producer和consumer模型
作为一名程序员,我想我们应该都写过producer和consumer的模型,应为他的用途实在是太广泛了,比如之前服务器里使用到的actor队列,还有一些对于计算量比较大的任务,都是前端快速接受请求,放到队列,然后后面的线程池取出队列执行并异步返回,都是使用的producer和consumer方式来实现的,我简单的画了一张图: 在代码层面的实现无非是用一个队列,然后再produce
2014-03-21 16:25:15
2506
转载 c++11中信号量(semaphore)的实现
c++11中有 mutex (互斥量),有 condition_variable (条件变量),并没有 semaphore (信号量)。信号量,操作系统中一般都有提,后来 google 说可以使用 mutex+condition_variable 实现一个,后来写来写去,都死锁 (deadlock) ——,O__O"…,后来 google 了一个,整理了一下思路。信号量神马是信号量?信号量
2014-02-28 16:45:45
19490
1
转载 linux多线程信号总结
linux 多线程信号总结(一) 1. 在多线程环境下,产生的信号是传递给整个进程的,一般而言,所有线程都有机会收到这个信号,进程在收到信号的的线程上下文执行信号处理函数,具体是哪个线程执行的难以获知。 2 signal函数BSD/Linux的实现并不在信号处理函数调用时,恢复信号的处理为默认,而是在信号处理时阻塞此信号,直到信号处理函数返回。其他实现可能在调用信号处理函数时,恢复信号
2013-07-10 09:21:39
730
转载 How To Create Database In MongoDB
MongoDB didn’t provides any command to create “database“. Actually, you don’t need to create it manually, because, MangoDB will create it on the fly, during the first time you save the value into the
2013-05-27 10:32:51
1087
原创 memcpy和memmove的区别
1,函数声明void* memcpy(void* dest,void* source,unsigned count);void *memmove(void *dest, void *source, unsigned count);memcpy和memmove都是对于内存的拷贝,当他们被应用在不同的内存区域拷贝(source和dest志向不同的内存区域)时,效果是一样的,
2013-03-21 14:23:59
1139
1
转载 libev detail
1 libev主页http://software.schmorp.de/pkg/libev.html文档http://software.schmorp.de/pkg/libev.htmllibev所实现的功能就是一个强大的reactor,可能notify事件主要包括下面这些:ev_io // IO可读可写ev_stat // 文件属性变化ev_async // 激活线程ev
2013-03-19 11:09:04
999
转载 gdb with multithread program
When your program has multiple threads (refer to Section 6.9 Debugging programs with multiple threads), you can choose whether to set breakpoints on all threads, or on a particular thread.
2013-03-18 15:03:33
1068
转载 Linux平台用C++封装线程读写锁
在Linux平台上已经有现成的线程读写锁pthread_rwlock_t以及相关API,现将这些API封装成与Win32平台上相同的接口,以便于编写跨平台程序。这些API包括pthread_rwlock_init,pthread_rwlock_rdlock,pthread_rwlock_tryrdlock,pthread_rwlock_wrlock,pthread_rwlock_trywrlock
2013-03-08 12:16:48
633
转载 Pthreads并行编程之spin lock与mutex性能对比分析
POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(Critical Section)进行保护(另一种常用的同步机制是barrier)。Pthreads提供了多种锁机
2013-03-07 14:07:26
738
原创 到底是使用abstract method还是interface在实现多态时
在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程我想就是指按照这种思想来编程吧!实际上,在日常工作中,你已经按照接口编程了,只不过如果你
2012-12-29 14:22:40
864
原创 google-perftools+kcachegrind profiler your program
我之间用过一些开源的profiler工具,自己也做过一些工具,除了自己写的工具可以简单获取自己想要的那一部分数据之外,其他的工具都不那么容易,但是perftools却是个例外, 它是一款针对 C/C++ 程序的性能分析工具,它是一个遵守 BSD 协议的开源项目。使用该工具可以对 CPU 时间片、内存等系统资源的分配和使用进行分析,本文将重点介绍如何进行 CPU 时间片的剖
2012-11-01 16:15:17
1917
翻译 使用git创建local branch并push到远程
Creating Remote Branchesgit branch用得也不是很多,但有时候要用的时候往往会忘记,现将创建远程分支的过程列举如下:一,确认我们所在的分支elisonwu$ git branch* master 二,假如我们要创建的分支v0elisonwu$ git branch v0三,将我们新创建的v0分支提交到远程,让项目组的其他成员都
2012-10-19 18:05:28
1942
原创 #if #define条件编译
我们在处理c/c++代码的时候,经常会用到#ifndef #define #endif,或者#if defined... #else #endif,我想这对于每一位c/c++程序员都不会陌生,但是不知道大家是否真正想过,或者总结过这些条件编译的用途否,反正我在大学期间,只知道这么用,后来也就一直这么用,没事也真的不太在意,直到上次有人问我他们的整个的用途的时候,还是只能说上一点,今天在网上查了下,
2012-07-09 22:48:42
1485
Foxit PhantomPDF Business 5注册
2018-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人