C/C++多线程编程专题
文章平均质量分 55
Windows 与 Linux 下 C、C++多线程并发编程,核心精品知识点,彻底掌握高并发编程!
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
程序员乐逍遥
15年C/C++开发经验资深程序员、想跟我学编程的可以观看我精心录制的视频课程!
展开
-
高性能STL库 EASTL 、高性能JSON库
兄弟们,对STL要求性能高的可以试试这个EASTL库!原创 2024-06-24 22:41:20 · 132 阅读 · 0 评论 -
VS2019 VS2022 LNK2019 无法解析的外部符号sprintf
它的作用是解决在使用新版本的 Visual Studio 编译旧版本的 C/C++ 代码时可能出现的一些兼容性问题。在早期版本的 Visual Studio 中,这些函数的实现方式可能与当前版本的 Visual Studio 有所不同,导致在链接时出现一些问题,比如链接错误或者运行时错误。就提供了一种兼容性解决方案,通过提供一组 legacy(遗留)的标准 I/O 函数定义,使得旧版本的代码能够在新版本的 Visual Studio 中正常编译和链接。主要解决的是与输入输出函数(如。原创 2024-04-11 19:54:29 · 373 阅读 · 0 评论 -
Windows下 VS2022 编译OpenSSL 库
(Transport Layer Security,安全传输层),TLS是建立在传输层TCP协议之上的协议,服务于应用层,它的前身是SSL(Secure Socket Layer,安全套接字层),它实现了将应用层的报文进行加密后再交由TCP进行传输的功能。作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。目前的 SSL 证书许可,下发的其实都是 SSL/TLS 证书。原创 2024-01-20 16:35:44 · 856 阅读 · 0 评论 -
Linux 脚本中 0 1> 2> >& <的含义
首先理解一下 0 1 2究竟是什么?原创 2024-01-12 13:57:10 · 203 阅读 · 0 评论 -
解决error C2065: “_lpw”: 未声明的标识符
遇到上面的错误,查阅资料,解决方法如下:原创 2023-12-18 09:15:42 · 403 阅读 · 0 评论 -
Windows 根据dll生成 lib文件
查看c.lib中包含哪些函数,可以使用:dumpbin /all /rawdata:none XXX.lib >3.txt。查看a.dll库中包含哪些函数,可以使用: dumpbin /exports XXX.dll >1.txt。查看d.obj中包含哪些函数,可以使用:dumpbin /all /rawdata:none XXX.obj。如果函数较多,可以复制VS的报错信息,放到一个文件中,使用Python来解析出函数名。第一步,查看一下大概的函数,确认dll有你想要的函数。原创 2023-11-09 17:03:51 · 317 阅读 · 0 评论 -
ubuntu终端 中文显示 改为 英文显示
实际是改变系统两个环境变量 $LANGUAGE 和 $LANG的值(可以用echo $LANG 来查看值)关闭当前终端,重新打开终端后命令中的提示就显示英文提示了。如果希望终端显示英文,可以在终端设置环境变量。注意对那些中文文件名,文件夹名会显示为乱码。原创 2023-09-27 11:21:27 · 1299 阅读 · 0 评论 -
Linux下两个必学的查找命令find grep
【代码】Linux下两个必学的查找命令find grep。原创 2023-08-23 16:05:41 · 219 阅读 · 0 评论 -
Linux下grep通配容易混淆的地方
我希望找到某个版本为8的一个libXXX.8XXX.so ,那么应该怎么写呢?终于过滤到自己想要的文件了!是不是结果出乎你的意料之外?原创 2023-08-12 22:58:11 · 542 阅读 · 0 评论 -
Linux命令行参数前加 - -- 或 不加- 的区别
System V 风格中 init 调用 /etc/inittab,BSD 风格调用 /etc/rc,它们的目的相同,都是根据 runlevel 执行一系列的程序。系统启动过程中 kernel 最后一步调用的是 init 程序,init 程序的执行有两种风格,即 System V 和 BSD。① 参数前有横的 - 是System V风格。① 参数前单杠的表明后面的参数是单个字母;② 参数前双杠的则表明后面的参数是单词。② 参数前没横的 是BSD风格。2 加杠与不加杠的区别。原创 2023-08-12 15:55:28 · 696 阅读 · 0 评论 -
多线程下值的自增方案:_InterlockedIncrement ,atomic_long ,mutex
最近学习多线程下的整数自增,很好理解:场景: 一个点击需求,用10个线程模拟10个用户同时点击,每个线程点击10 0000次, 那么实际上一共是点击100 0000 次。下面分别使用无锁(结果肯定错误), mutex,_InterlockedIncrement, atomic 测试: #include <iostream> #include <string...原创 2019-01-10 14:46:42 · 1642 阅读 · 0 评论 -
windows下线程同步
#include "stdafx.h"#include "iostream"#include "list"#include "windows.h"#include "process.h"using namespace std;/*线程同步1.临界区2.信号量3.事件对象4.互斥量*//***********************原创 2017-08-01 11:30:23 · 339 阅读 · 0 评论 -
windows线程同步总结
一 线程1)如果你正在编写C/C++代码,决不应该调用CreateThread。相反,应该使用VisualC++运行期库函数_beginthreadex,退出也应该使用_endthreadex。如果不使用Microsoft的VisualC++编译器,你的编译器供应商有它自己的CreateThred替代函数。不管这个替代函数是什么,你都必须使用。2)因为_beginthreadex和转载 2017-08-01 11:34:10 · 356 阅读 · 0 评论 -
线程局部存储(TLS)
线程安全堆栈中定义的局部变量,对多线程来说是安全的,因为不同的线程各有自己的堆栈。而通常定义的全局变量,所有线程都可以作读写访问,这样它就不是线程安全的,为安全就有必要加锁互斥访问。而何为线程局部存储(TLS),简单的说,就是一个变量(通常是指针,指向具体的类型),每个线程都有一个副本,而在程序中可以按照相同的方式来访问,(比如使用相同的变量名,又或者都调用TlsGetValue)转载 2017-09-21 16:57:22 · 857 阅读 · 0 评论 -
不加锁的多线程处理方式
多线程中加锁似乎已经是业内普遍做法,其实也可以不加锁,比如设计每个线程有自己的专属队列,不存在多个线程访问同一个队列而引发的问题,因此无需加锁,以下代码即可证明,但貌似有时会崩溃,大牛们可以分析分析哪里有问题!#include <windows.h>#include <process.h>#include <queue>using namespace s...原创 2018-02-23 11:57:31 · 2520 阅读 · 1 评论 -
在多线程中访问vector
两种情况:1. 不改变vector的元素数量, 则多线程访问无冲突。2. 改变vector的元素数量(比如push_back, erase), 则多线程访问有冲突,需要加锁。#include <iostream> #include <windows.h> #include <vector> #include <string...原创 2019-03-29 20:39:31 · 4581 阅读 · 0 评论 -
C++多线程编程视频教程(C++11多线程并发)-黄强-专题视频课程
线程与进程相比,它是一种花销小,切换快,更节俭的多任务的操作方式。多编程并发在企业中开发显得尤为重要,本课程包含Windows多线程编程与C++11高并发编程,通过浅显易懂的代码与讲解,让你的多线程编程能力得到质的飞跃,具备开发高并发代码的能力!...原创 2017-10-30 10:10:49 · 2037 阅读 · 0 评论