- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 多线程的一些题目总结
转摘自大神博客:http://blog.csdn.net/morewindows/article/details/7392749
2016-09-26 17:54:27 326
原创 linux程序设计:POSIX线程
一. 什么是线程 线程是一个进程内部的一个控制序列。在一个程序中的多个执行路线就叫线程。 进程,是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竟争计算机系统资源的基本单位。每一个进程都有一个自己的地址空间,即进程空间或(虚空间)。进程空间的大小 只与处理机的位数有关,一个 16 位长处理机的进程空间大小为 216 ,而 32 位处理机的进程空间大小为 23
2016-09-26 17:42:35 379
原创 linux程序设计:可重入和线程安全
在多线程编程和信号处理过程中,经常会遇到可重入(reentrance)与线程安全(thread-safe)。很多人纠结于reentrance和thread-safe两个概念理解纠缠不清。我想救我对reentrance和thread-safe的理解作个总结一、可重入(reentrance)首先来看下APUE中,列出的可重入函数:略以上表中的这些函数,都
2016-09-26 10:48:23 368
原创 linux程序设计:堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两
2016-09-26 10:32:44 1752
原创 linux程序设计:信号
一. 信号是什么软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是进程间通信机制中唯一的异步通信机制,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进
2016-09-25 22:44:20 263
原创 linux程序设计:进程和信号
一. 什么是进程 进程:一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源。可以把进程看成是正在运行着的程序。 linux是多任务操作系统:可以同时运行多个程序。每个运行着的程序实例就构成一个进程。 linux是多用户操作系统:可以同时允许多个用户访问。每个用户可以用时运行多个程序,甚至可以运行同一个程序的许多个实例。 正在运行着的程序或进程由程
2016-09-25 21:28:14 2385
原创 linux程序设计:linux物理内存和虚拟内存
一. 物理内存和虚拟内存 我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。 物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在Linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内存,
2016-09-24 21:09:59 2692
原创 linux程序设计:调试
一. 一些基本知识1.gcc和g++和cc gcc是C编译器;g++是C++编译器;linux下cc一般是一个符号连接,指向gcc;gcc和g++都是GUN(组织)的编译器。而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Linux/Unix都是大小写敏感的系统,这点一定要注意。cc是Unix系统的C Compiler,而gcc则是GNU Compiler Col
2016-09-24 17:20:58 386
原创 linux程序设计:make命令和makefile文件
1.makefile文件的语法makefile文件由一组依赖关系和规则构成。每个依赖关系有一个目标(即将要创建的文件)和一组该目标所依赖的源文件构成,而规则描述了如何通过这些所依赖的文件创建目标。内容比较多请参考大神的:http://blog.csdn.net/haoel/article/details/2886
2016-09-23 21:42:19 234
原创 linux程序设计:第七章 数据管理
一. 内存管理 1.简单的内存分配使用标准c语言函数库中的malloc调用来分配内存。 void * malloc(size_t size)返回的是一个void*指针,因此需要通过类型转换。可以保证其返回的内存是地址对齐的,因此可以将其转换成任何类型的指针。2.分配大量的内存 应用程序所需的内存是由linux内核管理的。刚开始,内核只是通过使用空闲的物理内存来满
2016-09-23 15:24:30 308
原创 Ip:首部检验和字段
IP/ICMP/IGMP/TCP/UDP等协议的校验和算法都是相同的,算法如下:在发送数据时,为了计算数IP据报的校验和。应该按如下步骤:(1)把IP数据报的首部都置为0,包括校验和字段。(2)把首部看成以16位为单位的数字组成,依次进行二进制反码求和。(3)把得到的结果存入校验和字段中。在接收数据时,计算数据报的校验和相对简单,
2016-09-22 21:39:09 4247
原创 Linux程序设计 第四章:linux环境
一. 程序参数int main(int argc , char *argv[])argc是程序参数的个数,argv是一个代表参数自身的字符串数组。参数个数包括程序自身,argv数组也包含程序名并把它作为第一个元素argv[0]二. 环境变量控制shell脚本和其它程序的变量,可以用来配置用户环境。char *getenv( const char * name);int pu
2016-09-21 22:26:43 248
原创 linux程序设计:第三章 文件操作
一. linux文件系统1.在linux中几乎一切都是文件,可以像使用文件一样时用磁盘文件、串行口和打印机和其他设备。目录是用于保存其它文件的节点号的名字的文件。硬件设备也被映射为文件。常用的设备文件有三个:/dev/console 系统控制台/dev/tty 控制终端/dev/null 空设备2.操作系统的核心,即内核是一组设备驱动程序,是一组对系统硬件进行控制的底层
2016-09-21 16:33:17 302
原创 大话数据库: 第五章 操作表中的数据
一. 插入语句1. 简单的插入语句INSERT INTO 表名(列名1,列名2,列名3... ) VALUES(列名1的值,列名2的值,列名3的值... )2. 批量插入语句INSERT TNTO 要插入数据的目标表和视图名 select 检索语句用select实现:select 列表 INTO 新表名 数据来源表二. 检索语句1. 选择数据列SELECT *
2016-09-21 10:42:42 254
原创 leetcode:single-number,single-number ii
一. 题目描述single-number:Given an array of integers, every element appears twice except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. C
2016-09-19 22:25:49 227
原创 linux程序设计:第一章:入门 第二章 :shell程序设计
一. 入门1.开发系统应用程序存放在系统为之保留的特定目录中。系统提供的程序在/usr/bin中,本地添加的程序在/usr/local/bin或/opt中。头文件是用来提供对常量的定义和对系统函数和库函数调用的声明。在/usr/include里面。库文件是一组预先编译好的函数的集合。按照可重用的原则编写。在/lib和/usr/lib中,库文件的类型分为:静态库.a,共享函数库.so
2016-09-19 20:15:37 334
原创 大话数据库:第四章 创建和维护表
一. E-R模型实体联系模型,提供表示实体、属性和联系的方法,用来描述现实世界的概念模型。实体只是一个数据对象,客观存在的事物,可以是抽象的也可以是实际存在的事物。这些事物会有相关的属性。实体之间的联系有三种类型: 一对一关联1:1和一对多关联1:N和多对多关联N:M,关系规范化有三种范式,在满足第三范式前必须满足第二范式,满足第二范式之前必须满足第一范式。第一范式:所有属性是不可
2016-09-18 20:25:59 348
原创 编程珠玑:第三章 数据决定程序结构 习题解答
一.题目描述:本书出版之时,美国的个人收入所得税分为5种不同的税率,其中最大的税率大约为40%.以前的情况则更为复杂,税率也更高。下面所示的程序文本采用25个if语句的合理方法来计算1978年的美国联邦所得税。税率序列为0.14, 0.15, 0.16, 0.17, 0.18.....。序列中此后的计算大于0.01.有何建议呢?if income tax = 0;els
2016-09-13 21:44:53 1608
原创 leetcode:copy-list-with-random-pointer
一、题目描述A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.Return a deep copy of the list.二、题目分析我们知道如果是简
2016-09-12 17:48:24 218
原创 编程珠玑:第二章 啊哈,算法三个问题
一. 三个问题A:给出一个顺序文件,它最多包含40亿个随机排列的32位整数。 问题:找出一个不在文件中的32位整数。 注意:题目中没有说,这40亿个数是否是含有重复的数据 条件限制: 1、如果有足够的内存,如何处理? 2、如果内存仅有上百字节(内存不足)且 可以用若干外部临时文件,如何处理?B:类似字符串循环移
2016-09-10 21:55:32 1132
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人