积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部后端开发(10)C++(10)

语言

全部中文(简体)(9)中文(繁体)(1)

格式

全部PPT文档 PPT(7)PDF文档 PDF(3)
 
本次搜索耗时 0.052 秒,为您找到相关结果约 10 个.
  • 全部
  • 后端开发
  • C++
  • 全部
  • 中文(简体)
  • 中文(繁体)
  • 全部
  • PPT文档 PPT
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 现代C++ 教程:高速上手C++11/14/17/20

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4 目录 目录 7.2 互斥量与临界区 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 7.3 期物 return 0; } 7.2 互斥量与临界区 我们在操作系统、亦或是数据库的相关知识中已经了解过了有关并发技术的基本知识,mutex 就是 其中的核心之一。C++11 引入了 mutex 相关的类,其所有相关的函数都放在 头文件中。 std::mutex 是 C++11 中最基本的 mutex 类,通过实例化 std::mutex 可以创建互斥量,而通过其 成员函数 lock() 接调用成员函数,因为调用成员函数就需要在每个临界区的出口处调用 unlock(),当然,还包括异常。 这时候 C++11 还为互斥量提供了一个 RAII 语法的模板类 std::lock_guard。RAII 在不失代码简洁性 的同时,很好的保证了代码的异常安全性。 在 RAII 用法下,对于临界区的互斥量的创建只需要在作用域的开始部分,例如: #include #include
    0 码力 | 83 页 | 2.42 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 06 TBB 开启的并行编程之旅

    入门:常用 STL 容器, RAII 内存管理 3.现代 C++ 进阶:模板元编程与函数式编程 4.编译器如何自动优化:从汇编角度看 C++ 5.C++11 起的多线程编程:从 mutex 到无锁并行 6.并行编程常用框架: OpenMP 与 Intel TBB 7.被忽视的访存优化:内存带宽与 cpu 缓存机制 8.GPU 专题: wrap 调度,共享内存, barrier 9.并行算法实战: 的队列 里取出任务,以免 t1 闲置浪费时间。 • 因此内部 for 循环有可能“窃取”到另一个 外部 for 循环的任务,从而导致 mutex 被重复上锁。 解决 1 :用标准库的递归锁 std::recursive_mutex 解决 2 :创建另一个任务域,这样不同域之间就不会窃取工作 解决 3 :同一个任务域,但用 isolate 隔离,禁止其内部的工作被窃取 (推荐) 第 grow_by 或 push_back 而不出错 。 • 而 std::vector 只有只读的 .size() 和 [] 运算符是安全的,且不能和写入的 push_back 等一起用,否则需要用读写锁 保护。 不建议通过索引随机访问 • 因为 tbb::concurrent_vector 内存不连续 的特点,通过索引访问,比通过迭代器访 问的效率低一些。 • 因此不推荐像 a[i] 这样通过索引随机访问
    0 码力 | 116 页 | 15.85 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 05 C++11 开始的多线程编程

    入门:常用 STL 容器, RAII 内存管理 3.现代 C++ 进阶:模板元编程与函数式编程 4.编译器如何自动优化:从汇编角度看 C++ 5.C++11 起的多线程编程:从 mutex 到无锁并行 6.并行编程常用框架: OpenMP 与 Intel TBB 7.被忽视的访存优化:内存带宽与 cpu 缓存机制 8.GPU 专题: wrap 调度,共享内存, barrier 9.并行算法实战: 的类型为 std::future 。 • 同理有 std::promise ,他的 set_value() 不接受参数,仅仅作为同步用, 不传递任何实际的值。 第 3 章:互斥量 多线程打架案例 • 两个线程试图往同一个数组里推数据。 • 奔溃了!为什么? • vector 不是多线程安全( MT-safe )的容 器。 • 多个线程同时访问同一个 vector A 同学在用了, B 同学就不能进去,要等 A 同学用完了才能进 去。 std::lock_guard :符合 RAII 思想的上锁和解锁 • 根据 RAII 思想,可将锁的持有视为资源 ,上锁视为锁的获取,解锁视为锁的释放 。 • std::lock_guard 就是这样一个工具类,他 的构造函数里会调用 mtx.lock() ,解构函 数会调用 mtx.unlock() 。从而退出函数作
    0 码力 | 79 页 | 14.11 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 10 从稀疏数据结构到量化数据类型

    ,造成数据竞争。所 以有的指针被重复分配了两遍,写入了那个地址却没有实际被存到 m_data 这个指针数组里。因此结果不对,还造成了内存泄露。 解决:使用互斥量和原子变量 暴力解决方案就是用 std::mutex 避免多个线程同时访问。 然而这样会严重影响性能,锁和原子多了,就根本并行不起来。 教科书式的解决:二次判断法 这样如果 block 已经非空,则可以不用上锁,减少上锁次数。 如果 block 为 game of life) 的代码。 • 要求:自动扩展边界,按需分配内存,垃圾回收及时释放全零的块,用量化的 bit 压缩空 间,使用 omp 或 tbb 并行,用 accessor 缓存坐标以减轻锁的压力。 • 评分规则:加速了多少倍就是多少分。 感谢观看! by 彭于斌( github@archibate ) 录播: https://space.bilibili.com/ 263032155
    0 码力 | 102 页 | 9.50 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.2.0 繁体中文 C++ 版

    加法雜湊:對輸入的每個字元的 ASCII 碼進行相加,將得到的總和作為雜湊值。 ‧ 乘法雜湊:利用乘法的不相關性,每輪乘以一個常數,將各個字元的 ASCII 碼累積到雜湊值中。 ‧ 互斥或雜湊:將輸入資料的每個元素透過互斥或操作累積到一個雜湊值中。 第 6 章 雜湊表 www.hello‑algo.com 132 ‧ 旋轉雜湊:將每個字元的 ASCII 碼累積到一個雜湊值中,每次累積之前都會對雜湊值進行旋轉操作。 for (unsigned char c : key) { hash = (31 * hash + (int)c) % MODULUS; } return (int)hash; } /* 互斥或雜湊 */ int xorHash(string key) { int hash = 0; const int MODULUS = 1000000007; for (unsigned char 消除週期性模式,提升雜湊演 算法的穩健性。 6.3.3 常見雜湊演算法 不難發現,以上介紹的簡單雜湊演算法都比較“脆弱”,遠遠沒有達到雜湊演算法的設計目標。例如,由於加 法和互斥或滿足交換律,因此加法雜湊和互斥或雜湊無法區分內容相同但順序不同的字串,這可能會加劇雜 湊衝突,並引起一些安全問題。 在實際中,我們通常會用一些標準雜湊演算法,例如 MD5、SHA‑1、SHA‑2 和 SHA‑3
    0 码力 | 379 页 | 18.79 MB | 10 月前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 01 学 C++ 从 CMake 学起

    入门:常用 STL 容器, RAII 内存管理 3.现代 C++ 进阶:模板元编程与函数式编程 4.编译器如何自动优化:从汇编角度看 C++ 5.C++11 起的多线程编程:从 mutex 到无锁并行 6.并行编程常用框架: OpenMP 与 Intel TBB 7.被忽视的访存优化:内存带宽与 cpu 缓存机制 8.GPU 专题: wrap 调度,共享内存, barrier 9.并行算法实战:
    0 码力 | 32 页 | 11.40 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 04 从汇编角度看编译器优化

    入门:常用 STL 容器, RAII 内存管理 3.现代 C++ 进阶:模板元编程与函数式编程 4.编译器如何自动优化:从汇编角度看 C++ 5.C++11 起的多线程编程:从 mutex 到无锁并行 6.并行编程常用框架: OpenMP 与 Intel TBB 7.被忽视的访存优化:内存带宽与 cpu 缓存机制 8.GPU 专题: wrap 调度,共享内存, barrier 9.并行算法实战:
    0 码力 | 108 页 | 9.47 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 03 现代 C++ 进阶:模板元编程

    入门:常用 STL 容器, RAII 内存管理 3.现代 C++ 进阶:模板元编程与函数式编程 4.编译器如何自动优化:从汇编角度看 C++ 5.C++11 起的多线程编程:从 mutex 到无锁并行 6.并行编程常用框架: OpenMP 与 Intel TBB 7.被忽视的访存优化:内存带宽与 cpu 缓存机制 8.GPU 专题: wrap 调度,共享内存, barrier 9.并行算法实战:
    0 码力 | 82 页 | 12.15 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理

    入门:常用 STL 容器, RAII 内存管理 3.现代 C++ 进阶:模板元编程与函数式编程 4.编译器如何自动优化:从汇编角度看 C++ 5.C++11 起的多线程编程:从 mutex 到无锁并行 6.并行编程常用框架: OpenMP 与 Intel TBB 7.被忽视的访存优化:内存带宽与 cpu 缓存机制 8.GPU 专题: wrap 调度,共享内存, barrier 9.并行算法实战:
    0 码力 | 96 页 | 16.28 MB | 1 年前
    3
  • pdf文档 《深入浅出MFC》2/e

    系统提供四种同步化机制,帮助程序进行这种工作: 1. Critical Section(关键区域) 2. Semaphore(号志) 3. Event(事件) 4. Mutex(Mutual Exclusive,互斥器) MFC 也提供了四个对应的类别: 一想到本书的厚度,我就打消介绍同步机制的念头了。你可以在许多Visual C++ 或MFC 程序设计书籍中得到这个主题的知识。 MFC 多线程程序实例
    0 码力 | 1009 页 | 11.08 MB | 1 年前
    3
共 10 条
  • 1
前往
页
相关搜索词
现代C++教程高速上手11141720高性性能高性能并行编程优化课件060510Hello算法1.2繁体中文繁体中文01040302深入深入浅出MFC
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩