- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 linux下使用C实现线程池
在高并发需求下,以往的方案(有事件发生时创建新线程处理事件,处理完后销毁线程),这种方法由于创建线程和销毁线程浪费了大量的资源。因此转换一种思路,每次程序启动后先创建一些线程,让他们等事件发生,发生后再去处理,处理后不销毁,让他等待事件发生。今天用宇宙最强语言C语言来实现一下,先看一下线程池定义的结构体:structthreadpool_t{pthread_mutex_tlock;/*用于锁住本结构体*/pthread_mut...
2020-08-29 21:37:38
787
1
原创 C语言-指针
注:此博客仅为本人在学习过程中总结的容易遗忘、或者容易混淆、以及本人不会的一些知识点,仅供复习参考。直接访问与间接访问取址运算符&间接运算符*直接访问:即通过变量名直接访问间接访问:通过变量的地址进行访问指针与指针变量指针:变量(常量)的地址指针变量:存放指针(地址)的变量*指针变量只能存放地址值,不能将整数(或者任何非地址类型的数据)赋给指针变量易错点i...
2020-03-22 19:19:51
410
原创 函数学习小结
注:此博客仅为本人总结的以前可能没有学习的知识点或者容易忘记容易出错的点,不具有任何参考价值函数部分1.实参和形参需要注意的点(1)在定义函数中指定的形参,在未出现函数调用时,他们并不占内存中的存储单元。只有在发生函数调用时形参才被分配内存空间。在调用结束后,形参所占的内存单元被释放。(2)在内存中,实参和形参是不同的单元。(3)在调用函数时,给形参分配存储单元,并将实参对应的值传给形参...
2020-03-16 12:39:19
382
原创 数组学习总结
注:此博客仅为本人总结的以前可能没有学习的知识点或者容易忘记容易出错的点,不具有任何参考价值1.数组部分1.输出地址用%p或者%#x2.数组名为表示数组所占内存空间的起始地址,为一常量。所以可以在声明的时候对数组进行初始化,但声明之后数组名不能出现在等号左端。3.数组越界的危害:(1)会覆盖其他变量的值(越界较短)(2)会出现段错误(越界较长)字符数组char c[10],ch[3...
2020-03-15 20:20:33
258
原创 二分查找的两种实现
二分查找适应情况:已经排好序的数组基本思想:选定这批数中居中间位置的一个数与所查数比较,看是否为所找之数,若不是,利用数据的有序性,可以决定所找的数是在选定数之前还是在之后,从而很快可以将查找范围缩小一半。以同样的方法在选定的区域中进行查找,每次都会将查找范围缩小一半,从而较快地找到目的数。循环实现:#include <stdio.h>#define LEN 10int ...
2020-03-14 21:57:15
177
原创 排序算法总结
冒泡排序冒泡排序算法的运作:1.比较相邻的元素,如果第一个比第二个大,就交换他们两个。2.对每一对相邻的元素做同样的工作,从开始第一对到结尾最后一对。在这一点,最后的元素应该是最大的数3.针对所有元素重复以上的步骤,除了最后一个。4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。#include <stdio.h>#include <st...
2020-03-14 20:34:31
109
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人