关闭

CPP开发者

所属频道 单片机 公众号精选
  • C 20 新特性的小细节

    之前整理过一篇C20新特性的文章全网首发!!C20新特性全在这一张图里了,里面提到过latch、barrier和semaphore,但是没有详细介绍过三者的作用和区别,这里详细介绍下。latch这个可能大多数人都有所了解,这就是我们经常会用到的CountDownLatch。用于使...

    单片机
    2021-10-27
  • 看起来满是 bug 的排序代码,居然是对的

    ↓推荐关注↓转自:量子位 公众号(QbitAI)程序bug也能负负得正吗?还真可以。比如程序员们再熟悉不过的排序算法,通过两个“bug”居然能歪打正着,实在令人匪夷所思。请看这位程序员写的数组升序排序代码:for i = 1 to n do  for j = 1 to n do ...

    单片机
    2021-10-26
  • QUIC 是如何解决TCP 性能瓶颈的?

    ↓推荐关注↓文章目录一、QUIC如何解决TCP的队头阻塞问题?1.1TCP为何会有队头阻塞问题1.2QUIC如何解决队头阻塞问题1.3QUIC没有队头阻塞的多路复用二、QUIC如何优化TCP的连接管理机制?2.1TCP连接的本质是什么2.2QUIC如何减少TCP建立连接的开销2....

    单片机
    2021-10-25
    TCP
  • 手写线程池 - C 语言版

    ↓推荐关注↓1.线程池原理我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可...

    单片机
    2021-10-25
  • 深入理解 Cache 工作原理

    ↓推荐关注↓大家好,今天给大家分享一篇关于Cache的硬核的技术文,基本上关于Cache的所有知识点都可以在这篇文章里看到。关于Cache这方面内容图比较多,不想自己画了,所以图都来自《ComputerArchitecture:AQuantitativeApproach》。这是一...

    单片机
    2021-10-25
  • 再谈 Linux epoll 惊群问题的原因和解决方案

    缘起近期排查了一个问题,epoll惊群的问题,起初我并不认为这是惊群导致,因为从现象上看,只是体现了CPU不均衡。一共fork了20个Server进程,在请求负载中等的时候,有三四个Server进程呈现出比较高的CPU利用率,其余的Server进程的CPU利用率都是非常低。中断,...

    单片机
    2021-10-22
  • 深入理解 Linux 调度(GPU)虚拟化

    〇、本文写作背景大约2年前,在腾讯内网,笔者和很多同事讨论了GPU虚拟化的现状和问题。从那以后,出现了一些新的研究方向,并且,有些业界变化,可能会彻底颠覆掉原来的一些论断。但这里并不是要重新介绍完整的GPU虚拟化的方案谱系。而是,我们将聚焦在英伟达GPUCUDA计算领域,介绍下我...

    单片机
    2021-10-22
  • C Web(HTTP)开发 10 大利器

    众所周知,C并不是一种流行的Web开发语言,究其原因有很多:语言门槛高、使用难度大、开发效率低......话虽如此,但随着Emscripten的成熟,未来C在Web方面会发挥更大的潜能,尤其是游戏、3D应用等方面。有关CWeb相关的框架有不少,下面进行了简单的整理,并按照“Sta...

    单片机
    2021-10-22
  • 一个轻量级、高性能的 C Web 框架

    说起Web开发,大多数人会想到Java、Python、Golang... 因为它们的主流Web框架有很多,Java有非常知名的Spring全家桶,Python有大而全的Django、小而精的Flask、高性能的Tornado,Golang也有快速灵活的Gin、Echo等框架。相比...

    单片机
    2021-10-22
  • 计算机网络的 89 个核心概念

    当我每了解一个新技术或者新框架的时候,我都想要先把名字概念弄懂是什么,可见概念对于我们的帮助非常大。计算机网络中的概念也是非常庞杂,理解起来比较困难,所以这里,我给大家汇总了计算机网络中89个常见的概念,希望对你有所帮助。主机:计算机网络上任何一种能够连接网络的设备都被称为主机或...

  • 关于 std::set/std::map 的几个为什么

    ↓推荐关注↓std::set/std::map(以下用std::map代表)是常用的关联式容器,也是ADT(抽象数据类型)。也就是说,其接口(不是OO意义下的interface)不仅规定了操作的功能,还规定了操作的复杂度(代价/cost)。例如set::insert(iterat...

    单片机
    2021-10-22
    se
  • 一文看懂 GDB 调试上层实现

    一、前言这篇文章来聊聊大名鼎鼎的GDB,它的豪门背景咱就不提了,和它的兄弟GCC一样是含着金钥匙出生的,在GNU的家族中的地位不可撼动。相信每位嵌入式开发工程师都使用过gdb来调试程序,如果你说没有用过,那只能说明你的开发经历还不够坎坷,还需要继续被BUG吊打。我们都知道,在使用...

    单片机
    2021-10-22
  • 一文教你如何用 C 代码解析一段网络数据包?

    本文的目的是通过随机截取的一段网络数据包,然后根据协议类型来解析出这段内存。学习本文需要掌握的基础知识:网络协议C语言Linux操作抓包工具的使用其中抓包工具的安装和使用见下文:《一文包你学会网络数据抓包》一、截取一个网络数据包通过抓包工具,随机抓取一个tcp数据包科莱抓包工具解...

  • 1s 创建 100G 文件,最快的方法是?

    在我们日常工作中,为了验证开发的功能,比如:文件上传功能或者算法的处理效率等,经常需要一些大文件进行测试,有时在四处找了一顿之后,发现竟然没有一个合适的,虽然Linux中也有一些命令比如:vim、touch等可以创建文件,但是如果需要一个100G或者1T的大文件,这些命令就显得力...

    单片机
    2021-10-22
  • 晒一波工程师的工位,你喜欢哪种?

    ↓推荐关注↓程序员的圈子啊那是十分神秘,又令人着迷的。每天的工作就是对着电脑,那他们的工作是如何的呢?我们来品一品(PS:后面奉上各位大佬的桌面,别走开哦)↓↓↓最最常见的普通版:升级版:算不得体贴版:逼退人升级版:舒适版:超人性版:独立版:高级版:友谊版:高级程序员版:干净的其...

    单片机
    2021-10-22