自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【多线程编程学习笔记7】线程同步机制_操作系统,四个售票员共同卖10张票

例如,之所以会出现“多个售票员卖出同一张票”的情况,因为这些线程几乎同一时间访问 ticket_sum 变量,得到的是相同的值。出现“4 个售票员多卖出 3 张票”的原因是:4 个线程访问 ticket_sum 变量得到的都是一个大于 0 的数,每个线程都可以继续执行 if 语句内的代码。造成此类问题的根本原因在于,进程中公有资源的访问权限是完全开放的,各个线程可以随时访问这些资源,程序运行过程中很容易出现“多个线程同时访问某公共资源”的情况。每次执行的结果可能是不一样的,我又重复执行了几次,看下图结果。

2024-09-08 05:09:23 283

原创 x86 CPU汇编语言入门教程_x86汇编

最早的时候,编写程序就是手写二进制指令,然后通过各种开关输入计算机,比如要做加法了,就按一下加法开关。后来,发明了纸带打孔机,通过在纸带上打孔,将二进制指令自动输入计算机。为了解决二进制指令的可读性问题,工程师将那些指令写成了八进制。二进制转八进制是轻而易举的,但是八进制的可读性也不行。很自然地,最后还是用文字表达,加法指令写成 ADD。内存地址也不再直接引用,而是用标签表示。

2024-09-08 00:16:05 981

原创 RPC与Protobuf结合使用_go rpc pb

201907300001”: message.OrderInfo{OrderId: “201907300001”, OrderName: “衣服”, OrderStatus: “已付款”},“201907310002”: message.OrderInfo{OrderId: “201907310002”, OrderName: “食品”, OrderStatus: “未付款”},不再深入研究,那么很难做到真正的技术提升。

2024-09-07 20:51:23 415

原创 JVM内存溢出的几种方式与解决方法

通过以上的10种出现内存溢出情况,大家在实际碰到问题时也就会知道怎么解决了,在实际编码中也要记得:1.第三方jar包要慎重引入,坚决去掉没有用的jar包,提高编译的速度和系统的占用内存。2.对于大的对象或者大量的内存申请,要进行优化,大的对象要分片处理,提高处理性能,减少对象生命周期。3.尽量固定线程的数量,保证线程占用内存可控,同时需要大量线程时,要优化好操作系统的最大可打开的连接数。4.对于递归调用,也要控制好递归的层级,不要太高,超过栈的深度。

2024-09-07 15:36:18 1081

原创 Golang硬件控制:将软件力量扩展到物理世界_go 单片机

例如,一个智能家居控制器可以使用Golang编写的程序来控制灯光的开关、亮度和颜色。一个自动化工厂可以使用Golang编写的程序来控制各种机器和设备,以提高生产效率和质量。例如,一个气象站可以使用Golang编写的程序来读取温度、湿度和气压传感器的数据,并将其存储到数据库中进行进一步分析和显示。以上只是一些常见的应用场景,实际上Golang硬件控制的应用非常广泛,几乎涵盖了各个行业和领域。在本节中,我们将介绍三个使用Golang开发硬件驱动的实际案例,以展示其灵活性和应用范围。切换引脚的状态,然后使用。

2024-09-07 09:18:09 559

空空如也

空空如也

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

TA关注的人

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