05 2022 档案
摘要:1、原码、反码、补码、移码 什么是原码、反码、补码! 原码、反码、补码和移码其实很简单 一、原码(0表示正数,1表示负数) 二、反码(正数的反码就是自身,负数的反码除符号位外,其他各位求反) 三、补码(正数的补码还是自身,负数的补码,符号位不变,其余取反,然后最低为加1) 为何要使用原码, 反码和补
阅读全文
摘要:linux线程互斥量pthread_mutex_t使用简介 在多线程编程中,线程同步是必不可少的考虑环节。线程不同步导致的问题很难排查,甚至bug复现的都很困难。 所以在多线程编程中,应该在设计中考虑到数据同步问题,保证变量视图的一致性,避免出现不一致性情况。 为什么使用线程锁 可以用程序修改变量值
阅读全文
摘要:进程与线程 进程与线程的区别 1. 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位; 2. 一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线 3. 进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段,数据集,堆等)及一些进程级的资源(如打开文件和
阅读全文
摘要:操作系统原理之内存(一) 用一个案例就能把计算机原理 + 操作系统 + 数据结构 + 计算机网络融会贯通! 计算机程序内存分布(栈、堆、BSS、数据区、代码段) C++ C++堆区,栈区,数据段,bss段,代码区(详解) 各段在加载到内存中所存储的内容 代码段(text):就是C程序编译后的机器指令
阅读全文