自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 linux下 c++实现 线程池——同步异步

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、线程池的结构二、代码示例前置数据结构2.读入数据总结前言我的技术栈都是在windows积累,然而c++后端开发主要是在Linux平台,这是对我的技术栈的一个迁移。一、线程池的结构 1. 一条线程安全的任务队列,负责为线程分配任务。2. 一个线程管理类 handler,负责连接线程池与任务队列;3. job struct4. job_list记录本质上通过一条任务队列的入队出队,为线程池中的空闲线程分配任

2021-11-04 00:34:52 685

原创 linux多线程

linux下线程同步:条件变量 + 互斥锁 + 共享内存pthread_cond_signal 每次只唤醒一个线程一般不发生惊群现象pthread_cond_wait 线程加入之后释放锁#include<iostream>#include<pthread.h>using namespace std;pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;pthread_cond_t condition1 = PTHREA

2021-11-02 02:51:15 180

原创 简单实现malloc和free

前言因为要准备面试,我复习c/c++基础的时候,发现对这两个函数的实现机制理解不够到位。所有我决定用隐性链表实现一个简单的malloc.malloc实现原理原本想画图,但是太懒。感觉语言解释会比较麻烦,我还是直接上代码吧。struct memBlock{ int size; //分配的内存块大小。 int is_free; //0空闲 1被占用};malloc其实采用内存池的方式,先申请大块内存作为堆区,然后将堆区分为多个内存块,以块作为内存管理的基本单位。当用户申请内存时,直接从堆区分配

2021-04-28 21:22:03 379

原创 c++实现压缩解压 zip文件

前言由于博主需要写软件工程的课设,在没有好点子以及考虑到队友能力不足的情况下,决定写一个zip压缩解压。我使用了Zip Utils实现这一想法,而我的代码则是对Zip Utils的封装,具体压缩和解压由Zip Utils实现。画线的文件为Zip Utils提供//zip_un.h#pragma once#include <Windows.h> //添加Windows.h不然会一堆错误#include <string> //C+

2020-11-25 23:00:06 6758

原创 使用while避免为什么虚假唤醒

使用while避免为什么虚假唤醒 网上有很多关于虚假唤醒的博客,但是都没有详细说明为什么要使用while。而很多初学者会对这个问题感到非常困惑,那些博主没写大概是觉得太多简单。这个问题确实是**会者不难 难者不会**什么是虚假唤醒?先看一段代码在这里插入代码片假设存在线程一、二、三,他们共同操作一段内存 可以视为他们同时操作一个 vector<int> a. 线程一给a添加数据,二三删除元素 当...

2020-11-25 22:36:38 928

原创 const char **与char ** 的传参问题

当我们使用这一代码测试时#include<iostream>using namespace std;void foo(const char **a) { cout << "123";}void main() { char b = 'x'; char* a = &b; char** v = &a; foo(v); cout << (void*)&b<<"\n"<<&a<<"\n"&lt

2020-07-15 16:58:59 2771

原创 c语言实现socket 多线程 并行

服务端#if 1#define _WINSOCK_DEPRECATED_NO_WARNINGS#include<iostream>#include<WinSock2.h>#include <ws2tcpip.h>#include <conio.h>#include <cstdio>#include<windows.h>#pragma warning(disable: 4996)#pragma comment(lib,

2020-05-28 15:05:55 2495 5

原创 两有序数组中位数 c语言实现

给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。

2019-08-20 02:14:06 549

原创 由力扣 02 两数相加最简解法,学习到的编程思维

简洁的遍历和累加思路:l1!=NULL?(c+=l1->val,l1=l1->next):(c+=0);l2!=NULL?(c+=l2->val,l2=l2->next):(c+=0);cur->val=c%10;c=c/10;

2019-08-13 14:42:15 168

原创 个人学习感受

背包问题:动态规划解决将问题分解为多个不同条件,求出各个条件下的最优解。通过对各个最优解的比较,递推当前问题的最优解。还是弱鸡,先写下当前阶段的体会,过段时间再回来改正。...

2019-05-15 14:36:00 514

空空如也

空空如也

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

TA关注的人

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