rengui1228的博客

技术资源共享

排序:
默认
按更新时间
按访问量

CRC校验的解读

一、只是基础

2017-06-22 14:02:14

阅读数:467

评论数:0

Linux----网络端口

一、网络端口的概念        1、什么是网络端口:              在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等;二是逻辑意义上的端口,一般是指TC...

2017-06-21 13:22:18

阅读数:816

评论数:0

Linux进程间通信----共享内存

一、共享内存       1、共享内存的概念:        顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间...

2017-06-15 22:13:38

阅读数:109

评论数:0

Linux----使用GDB调试多进程和多线程程序

一、GDB调试多进程

2017-06-14 23:45:58

阅读数:252

评论数:0

Linux----线程安全和可重入函数

一、线程安全          如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致...

2017-06-12 22:34:00

阅读数:136

评论数:0

Linux----普通版本的mysleep与规避竞态条件的mysleep对比

一、普通情况下的mysleep        先了解一下SIGALRM信号、alarm函数和pause函数。        SIGALRM时钟定时信号, 计算的是实际的时间或时钟时间。alarm函数使用该信号。 unsigned int alarm(unsigned int seconds); ...

2017-06-12 12:54:33

阅读数:329

评论数:1

Linux----子进程的异步等待方式

一、关于进程等待 相关博客: http://blog.csdn.net/rengui1228/article/details/73064852 二、基础知识      1,进程的各种状态             Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就...

2017-06-12 00:13:39

阅读数:153

评论数:0

Linux内核中的进程等待与其实现解析

一、进程等待的概述         进程通过fork产生子进程,进程也会死亡,进程退出的时候将会进行内核清理,释放所有进程的资源,资源包括:内存资源,文件资源,信号量资源,共享内存资源,或者引用计数减一,或者彻底释放。        不过进程的退出并没有把所有资源释放,保留一一些资源,...

2017-06-11 22:36:39

阅读数:289

评论数:0

Linux内核中的信号量

Linux内核中的信号量         信号量的本质是⼀种数据操作锁,它本身不具有数据交换的功能,而是通过控制其他的通信资源(文件,外部设备)来实现进程间通信,它本身只是一种外部资源的标识。信号量在此过程中负责数据操作的互斥、同步等功能。当请求⼀个使用信号量来表示的资源时,进程需要先读取信号量...

2017-06-11 14:18:10

阅读数:113

评论数:0

Linux内核中的管道

一、介绍关于进程间通信        Linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手...

2017-06-11 00:30:42

阅读数:210

评论数:0

Linux内核中的线程死锁

一、死锁的概念     1.什么是死锁:       死锁 (deadlocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程(线程)称为死锁进程...

2017-06-09 00:18:26

阅读数:165

评论数:0

Linux内核中的线程及多线程

一、线程的概念、理解及特点     1.线程的概念:         至今为止,Linux下还是没有“真正的线程”。谈到线程就不得不提到进程这概念,进程是系统中程序执行和资源分配的基本单位。每个进程都拥有自己的数据段,代码段和堆栈段,这就造成了进程在进行切换等操作时都需要有比较负责的上下文...

2017-06-08 16:10:08

阅读数:178

评论数:0

Linux内核中的信号(一)

一、Linux信号的基本概念 1、什么是信号?        软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是进程间通信机制中唯一的异步通信机制,一个进程不必通过任何...

2017-06-08 01:10:44

阅读数:220

评论数:0

线性表链接存储

以下是关于线性表链接存储(单链表)操作的11种算法   1.初始化线性表,即置单链表的表头指针为空   2.创建线性表,此函数输入负数终止读取数据  3.打印链表,链表的遍历  4.清除线性表L中的所有元素,即释放单链表L中所有的结点,使之成为一个空表   5.返回单链表的长度  ...

2017-01-04 19:54:11

阅读数:266

评论数:0

打印乘法口诀表

打印乘法口诀表的(精简版) #include #include #include #pragma warning(disable:4996) void multiplication_table(int line) //乘法口诀表实现函数 { int i = 1; for (; i <...

2017-01-03 13:14:29

阅读数:404

评论数:0

二分法的解读汇总

二分法的解读汇总(一)        二分查找,最基本的算法之一,也是面试中常被考察的重点,因为基本的算法最能反映出一个人的基础是否扎实。本文对二分查找相关题目做一个总结。       在学习算法的过程中,我们除了要了解某个算法的基本原理、实现方式,更重要的一个环节是利用big-O...

2017-01-02 09:05:02

阅读数:2655

评论数:0

模拟实现一个字符串的反转

#include #include #include            //断言的库函数文件,用以执行时抛出异常 #include void my_reverse(char *left,char *right) //定义具有逆置字符功能的函数 { char tmp=NULL; as...

2017-01-01 09:57:11

阅读数:171

评论数:0

模拟实现一个字符串的反转的9种方法

1. 使用Array.Reverse方法 对于字符串反转,我们可以使用.NET类库自带的Array.Reverse方法 public static string ReverseByArray(string original) { char[] c = original.ToCharArray(...

2017-01-01 09:24:07

阅读数:1193

评论数:0

编写代码,演示多个字符从两端移动,向中间汇聚

练习:编写代码,演示多个字符从两端移动,向中间汇聚。 #include #include int main () { char arr1[]="Welcome to China!!!"; char arr2[]="###################&q...

2016-12-30 13:27:42

阅读数:181

评论数:0

用冒泡法对M个整数从小到大排序

分析:冒泡法排序的过程是:设有M个元素,要求从小到大排序。每次从首元素开始两两比较,即arr[j]和arr[j+1]比较,若arr[j]大于arr[j+1]则两元素交换,否则不交换,这样每一轮比较后都可得到“大数沉底,小数上浮一个位置”的结果,也就是说第一轮排好数组最后一个元素,第二轮排好数组最后...

2016-12-29 13:41:24

阅读数:1009

评论数:0

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