jyh的博客

脚踏实地

IO多路转接—select 、poll、epoll

多路(多个文件描述符)I/O(输入输出)转接(将多个文件描述符交给select监控) 调用select函数,直到描述符表中有一个描述符准备好进入I/O时,该函数才返回,通过select的返回值告知进程哪些描述符已经准备好进入I/O。 三种模型性能分析  select 1.select能监听...

2018-07-28 22:25:32

阅读数:26

评论数:0

Linux 线程同步的三种方法

线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。 一、互斥锁(mutex) 通过锁机制实现线程间的同步。 初始化锁。在Linux下,线程的互斥量数据类型是pthread_mutex_t。在使...

2018-07-27 17:29:35

阅读数:24

评论数:0

Posix 信号量与System v信号量的区别

在回答这个问题之前,首先要先了解什么是Posix,什么又是System V。 简要的说,Posix是“可移植操作系统接口(Portable Operating System Interface )的首字母简写,但它并不是一个单一的标准,而是一个电气与电子工程学会即IEEE开发的一系列标准,它还是...

2018-07-27 16:31:01

阅读数:83

评论数:0

getenv、setenv函数(获取和设置系统环境变量) 与 环境变量

1、getenv()   函数名: getenv 功 能: 从环境中取字符串,获取环境变量的值 头文件: stdlib.h 用 法:char *getenv(char *envvar); 函数说明:getenv()用来取得参数envvar环境变量的内容。参数envvar为环境变量的名称...

2018-07-23 22:53:11

阅读数:128

评论数:0

setsockopt用法详解

1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket: BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,...

2018-07-22 22:21:14

阅读数:26

评论数:0

linux标准输入输出与重定向

1. 标准输入输出和错误    linux下使用标准输入文件stdin和标准输出文件stdout,来表示每个命令的输入和输出,还使用一个标准错误输出文件stderr用于输出错误信息。这三个标准输入输出系统缺省与控制终端设备相联系在一起。 因此,在标准情况下,每个命令通常从它的控制终端中获取输入...

2018-07-22 20:45:16

阅读数:51

评论数:0

深入理解计算机系统 实现一个小型web服务器

  1. Web基础 web客户端和服务器之间的交互使用的是一个基于文本的应用级协议HTTP(超文本传输协议)。一个web客户端(即浏览器)打开一个到服务器的因特网连接,并且请求某些内容。服务器响应所请求的内容,然后关闭连接。浏览器读取这些内容,并把它显示在屏幕上。 对于web客户端和服务器...

2018-07-22 11:28:03

阅读数:34

评论数:0

17 子集(递归)

描述 给定一个含不同整数的集合,返回其所有的子集 子集中的元素排列必须是非降序的,解集必须不包含重复的子集 您在真实的面试中是否遇到过这个题?  是 样例 如果 S = [1,2,3],有如下的解: [ [3], [1], [2], [1,2,3], [1,3],...

2018-07-21 15:46:18

阅读数:26

评论数:0

分段和分页

操作系统面试题:https://blog.csdn.net/hackbuteer1/article/details/6787354 一. 分页存储管理 1.基本思想     用户程序的地址空间被划分成若干固定大小的区域,称为“页”,相应地,内存空间分成若干个物理块,页和块的大小相等。可将用户...

2018-07-20 14:40:32

阅读数:19

评论数:0

156. 合并区间

描述 给出若干闭合区间,合并所有重叠的部分。 您在真实的面试中是否遇到过这个题?  是 样例 Given intervals => merged intervals: [ [ (1, 3), ...

2018-07-19 22:48:20

阅读数:22

评论数:0

30. 插入区间

描述 Given a non-overlapping interval list which is sorted by start point. Insert a new interval into it, make sure the list is still in order and no...

2018-07-19 21:23:58

阅读数:21

评论数:0

143. 排颜色 II

描述 给定一个有n个对象(包括k种不同的颜色,并按照1到k进行编号)的数组,将对象进行分类使相同颜色的对象相邻,并按照1,2,...k的顺序进行排序。 You are not suppose to use the library's sort function for this problem...

2018-07-19 20:16:49

阅读数:23

评论数:0

49. 字符大小写排序

描述 给定一个只包含字母的字符串,按照先小写字母后大写字母的顺序进行排序。 小写字母或者大写字母他们之间不一定要保持在原始字符串中的相对位置。 您在真实的面试中是否遇到过这个题?  是 样例 给出"abAcD",一个可能的答案为"ac...

2018-07-19 19:34:05

阅读数:18

评论数:0

5. 第k大元素

描述 在数组中找到第k大的元素 你可以交换数组中的元素的位置 您在真实的面试中是否遇到过这个题?  是 样例 给出数组 [9,3,2,4,8],第三大的元素是 4 给出数组 [1,2,3,4,5],第一大的元素是 5,第二大的元素是 4,第三大的元素是 3,以此类推 挑战 要求时间...

2018-07-19 17:41:09

阅读数:19

评论数:0

127 拓扑排序

Graph For example: {1,2,4#2,1,4#3,5#4,1,2#5,3} represents follow graph: 1------2 3 \ | | \ | | \ | | \ | | 4 5 ...

2018-07-19 15:16:33

阅读数:26

评论数:0

153. 数字组合 II(DFS)

描述 给出一组候选数字(C)和目标数字(T),找出C中所有的组合,使组合中数字的和为T。C中每个数字在每个组合中只能使用一次。 所有的数字(包括目标数字)均为正整数。 元素组合(a1, a2, … , ak)必须是非降序(ie, a1 ≤ a2 ≤ … ≤ ak)。 解集不能包含重复的组合...

2018-07-19 13:33:14

阅读数:57

评论数:0

135. 数字组合(DFS)

描述 给出一个候选数字的set(C)和目标数字(T),找到C中所有的组合,使找出的数字和为T。C中的数字可以无限制重复被选取。 例如,给出候选数组[2,3,6,7]和目标数字7,所求的解为: [7], [2,2,3] 所有的数字(包括目标数字)均为正整数。 元素组合(a1, a2, …...

2018-07-19 13:15:15

阅读数:72

评论数:0

让自己习惯C++

条款2:尽量以const、enum、inline替换 #define 或者可以这样说,尽量用编译器处理预处理器。 #define ASPECT_RATIO 1.653 记号名称ASPECT_RATIO也许从未被编译器看见,也许在编译器开始处理源码之前它就被预处理器移走了,因此记号名称ASP...

2018-07-18 09:54:12

阅读数:16

评论数:0

74. 第一个错误的代码版本

描述 代码库的版本号是从 1 到 n 的整数。某一天,有人提交了错误版本的代码,因此造成自身及之后版本的代码在单元测试中均出错。请找出第一个错误的版本号。 你可以通过 isBadVersion 的接口来判断版本号 version 是否在单元测试中出错,具体接口详情和调用方法请见代码的注释部分。...

2018-07-17 21:53:06

阅读数:33

评论数:0

139. 最接近零的子数组和

描述 给定一个整数数组,找到一个和最接近于零的子数组。返回第一个和最右一个指数。你的代码应该返回满足要求的子数组的起始位置和结束位置 您在真实的面试中是否遇到过这个题?  是 样例 给出[-3, 1, 1, -3, 5],返回[0, 2],[1, 3], [1, 1], [2, 2] 或者...

2018-07-17 17:00:41

阅读数:34

评论数:0

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