自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++多线程并发下对共享数据的访问方式对比(直接访问、互斥锁、原子操作)

前言C++在多线程环境下对共享内存的访问会造成竞态问题,为了解决这个问题,大多数人的解决办法是加锁,这不失是一个好办法在C++11里面,增加了 std::atomic 中增加了原子操作,允许我们的一些数据类型进行原子读和写,今天就来测试一下这几种方式的性能,以将一个整数在两个线程中各加 500W 为测试用例观看其执行的时间,以毫秒为单位。一、直接访问首先声明,多个线程直接访问共享数据会造成结果是不正确的,此处仅分析其性能。#include <thread>#include <a

2020-08-17 16:37:51 1299

原创 快排的优化--参照SGI STL sort

首先要声明的,就是本篇文章是对《STL源码剖析》中6.7节的一个读书笔记,欢迎大家一起来探讨~快排,大家都知道,时间复杂度最好情况是O(nlogn),最差情况是O(n²),虽然平均情况下是O(nlogn)中最好的,因为系数 k 比较小,但是最差情况却让我们直摇头,所以还有优化的空间。快排的两个优化点:1、当排序个数较少时,改为插入排序,减少递归的调用次数2、当有恶化为最差情况时,改用堆排序...

2020-04-10 11:35:20 177

原创 DNS域名解析步骤

hellow!大家好,今天看了谢希仁的《计算机网络》第七版中DNS域名解析过程,特地写在这里分享给大家~假设域名为 m.xyz.com 的主机想要知道域名 y.abc.com 的IP地址,一般有以下几个步骤:1、主机向本地域名服务器dns.xyz.com进行递归查询2、本地域名服务器进行迭代查询,先向根域名服务器查询3、根域名服务器告诉本地域名服务器,下一次应该查询的顶级域名服务器dns....

2020-04-09 10:02:13 553

原创 什么是内存对齐,为什么要内存对齐?

首先,内存对齐是要提高系统的内存利用率和提高CPU处理速率。我们先来看一个例子:typedef struct structA{ char c1; char c2; short s1; double d1;} structA;typedef struct structB{ char c1; short s1; double d1; char c2;} structB;...

2020-04-01 16:05:59 273

原创 c++ 合并k个有序链表

二分思想,每次让数组二分,直到数组长度为1,输出结果/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution...

2020-03-21 18:13:05 285

原创 方阵逆时针旋转

方阵逆时针旋转解法一解法二今天看到了这样的一道题目,花了一个小时做了一下,用了两种解法,第二种解法空间复杂度为O(1),但思路比较复杂,大家可以一起来讨论一下~解法一对于方阵逆时针旋转,很容易想到的就是找出每一个数的规律,复制多一份额外的空间,然后遍历每一个位置,找出其旋转前的位置。对于下面的方阵,有n = 3可以知道旋转后的方阵为即有下面变换:(0,0) <= (0,2)...

2020-03-11 16:56:46 700 1

空空如也

空空如也

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

TA关注的人

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