自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Harry的专栏

专注于Deep Learning, MT, NLP,能力是一种态度

  • 博客(10)
  • 资源 (2)
  • 收藏
  • 关注

原创 Unix环境,文件读写锁

<br />1简介:<br />    做个假设,如果有多个进程,共同编辑一个文件,那个这个文件安最后的结果是什么?在普通的Unix环境下,并没有限制多个进程共同读写一个文件。但是,如果这种情况出现在数据库中,怎么办。数据库要严格限制数据的一致性。<br />    记录锁(Record locking)是用来描述一个进程限制其他进程来修改其在文件读写部位数据的概念。其实记录(Record)这个概念并不准确,因为在Unix下,任何文件只是字节流。<br />    记录锁的实现方式有多种,早期的Berkel

2011-03-13 17:03:00 4509

原创 C/C++面试题系列之3:输出1-N个数字

<br /> <br />题目:用C/C++计算1+2+3+……N<br />条件:<br />1.不使用任何循环语句。(for,while,goto等等)<br />2.不使用任何条件语句。(if,?:等等)<br />3.不使用*/等运算,只使用+-运算 <br />4:更不能写1000个printf或是cout。 <br /> <br />一看到这个题,人们会想到递归,但是递归需要结束条件,题目要去不要任何判断条件,所以不行。<br />例一:变相的用1000个printf<br />#include

2011-03-11 14:56:00 2210

原创 Unix环境写入文件时,要注意的一个小细节,要不任何情况都有可能发生

<br /> <br /> 在Unix/Linux环境下,写入文件时。如果,在open函数的读写模式,只提供了,读写、如果不存在生成,这些模式时。<br />    如果源文件存在,以非追加的方式写入数据时,当后续的数据长度大于源文件已有的数据时,后续的文件覆盖以前的数据。<br />    如果后续的数据长度小于源文件以后的数据长度时,只是覆盖了后续写入的数据长度。这时,文件的数据时,两者的混合,这不是我们想要的。<br />    所以为了数据的正确性,在以非追加(append)方式吸入数据时,首先要清

2011-03-10 21:44:00 1798 1

原创 Unix环境,产生单实例进程方案

<br /> <br />    在一些情况下,一个进程只能产生一个实例来执行。Unix环境,提供了文件-记录锁(file- and record-locking)机制,提供了事项单实例进程的基本解决方案。<br />    假如,一个进程在开始运行时,生成了一个文件,并且,对整个文件上锁,并且,只有一个这样的写锁允许生成。<br />    如果,后续的进程要试图产生写锁,会导致失败。这暗示了,前面已经有实例运行了。<br />    下面一个判断是否有实例运行的方法。每个实例,都会试图生成一个文件(/v

2011-03-10 21:19:00 2570

原创 一个Linux守候进程例子

<br />其他程序可以调用void daemon_init(const char * cmd)方法,来初始化当前进程为守候进程<br /> #include<stdio.h>#include<unistd.h>#include<sys/resource.h>#include<fcntl.h>#include<signal.h>#include<syslog.h>void daemon_init(const char * cmd);int main(int argc, char

2011-03-10 19:32:00 1367

原创 The most easiest,simple description, i have known,about the C++ Oject-Oriented Programming

<br />         In C++, a class is a specification describing such a new data form, and an object is a particular data structure constructed according to that plan. For example, a class could describe the general properties of a corporation executive (name,

2011-03-10 10:29:00 1150

原创 The basic notation that when you learn the C++, you shoud known.

<br />C++ joins three separate programming traditions:<br />1: the procedural language tradition, represented by C(传统C语言)<br />2: the object-oriented language tradition, represented by the class enhancements C++ adds to C(面向对象)<br />3: generic programming,

2011-03-10 10:27:00 808

原创 一道字符串面试题:很少有人可以快速准确做出来

<br />今天在C++论坛上看到一个关于字符串的面试题,反映很强烈,跟帖很多。所以把这道题整理出来,希望对大家以后有所帮助,具体见链接。<br />题目:<br />编写如下形式的字符串处理函数,要求将S1指向的字符串倒向复制给S2,如*S1 = "hello",则使 *S2 = "olleh"。<br />要求:<br />1:不能使用除S1,和S2以外的其余任何变量。<br />2:不能使用库函数<br />函数名:<br />void reverse_str( const char* s1 ,cha

2011-03-07 21:26:00 1485

原创 Linux 线程同步之一:互斥锁

<br />在单线程条件下,由于对数据操作,在同样的时间下,只有一个线程来操作。所以不用担心数据的同步问题。现代的操作系统,大都提供并发机制,虽然有时候是表面的并发。在Linux中,并发用的最多的是基于线程的并发,进程的代价太高了,这样,一个共享的数据,在同一时间内,可能有多个线程在操作。如果没有同步机制,那么想要保证每个线程操作的正确性,是很困难的。<br />1互斥锁概念:<br />互斥锁提供一个可以在同一时间,只让一个线程访问临界资源的的操作接口。互斥锁(Mutex)是个提供线程同步的基本锁。让上锁

2011-03-04 12:11:00 16144 2

原创 C/C++中的void类型探究

<br />1:概述<br />在C/C++中void类型本意指的是,无类型。就说这个类型,不像int、double那样成为一个可以提供用户正常使用的系统数据类型。如果定义了一个变量如下:<br />void v;<br />在Linux中,用gcc编译报错如下:“variable or field  'v' declared void”。<br />如果定义void类型的指针,如下:<br />void * p;<br />在Linux中,用gcc编译,没有问题。<br />也就是说,void不能用于一般

2011-03-03 22:02:00 4439

非递归形式的N皇后问题---用C#实现、VS2008可以执行

非递归形式的N皇后问题---用C#实现、VS2008可以执行

2010-11-23

makefile 用法--最全的教程--pdf格式

makefile 用法--最全的教程--pdf格式

2010-10-27

空空如也

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

TA关注的人

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