线程互斥的场景中,我们使用锁来保证一次只能一个线程访问临界区,保证了线程安全。但是,仅仅凭借一把锁是很难保证线程访问的顺序性。 就比如:学校有一个vip自习室(1人间),门口存放着钥匙,来到自习室的人可以拿着钥匙进入自习...
无论是在windows、还是Linux中,C++的开发环境不仅仅指的是vs、gcc、g++,更重要的是语言本身的头文件(函数的声明)和库文件(函数的实现)。所以我们在安装这些软件的时候,同时也选择了相关的开发包,会同步下载对应的头文件和库...
TCP,全称传输控制协议(Transmission Control Protocol),是一种面向连接的、可靠的、基于字节流的传输层通信协议。
在Linux系统上开发Python应用程序后,您可能会希望将其分发给他人,而不让用户需要安装所有的依赖项或Python环境。PyInstaller是一个极其有用的工具,它可以将Python脚本和所有依赖项打包成一个独立的可执行文件,让您的应用...
在前几篇博客中,我们学习了Linux网络编程中的一些概念。从本篇博客开始,我们就正式开始写代码。本篇博客我们将写udp服务器和客户端代码,并实现服务器和客户端通信。这些代码学习成本较高,建议大家多敲几遍。如任何问题,欢...
随着互联网的飞速发展,IP地址资源日益紧张,这促使了NAT(Network Address Translation,网络地址转换)技术的诞生与发展。NAT技术不仅解决了IPv4地址短缺的问题,还增强了网络的安全性,实现了内外网络的有效通信。本文将详细讲...
TCP协议是传输层中非常重要的协议。本篇博客我们将从TCP头部信息、TCP状态转移、TCP数据流、TCP数据流的控制等等方面来讨论! 在TCP协议中,通信双方的地位是平等的。不存在请求和相应。...
在上一篇博客中,我们简单的介绍了一些Linux网络一些比较基本的概念。本篇博客我们将开始正式学习Linux网络套接字的内容,那么我们开始吧!
局域网(Local Area Network,简称LAN)和广域网(Wide Area Network,简称WAN)是计算机网络中的两种主要类型,它们在覆盖范围、连接方式、应用场景等方面存在显著差异。...
今天,我们继续学习Linux线程本分,在Linux条件变量中,我们对条件变量的做了详细的说明,今天我们要利用条件变量来引出我们的另一个话题——信号量内容的学习。...