首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
orange_lys
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
1
文章 1
沸点 0
赞
1
返回
|
搜索文章
最新
热门
运行时
概念 运行时(Runtime)是那些会被打包到所有程序可执行文件中的代码,根据每个语言的设计权衡,运行时虽然有大有小,但是除了汇编之外,每个语言都拥有它。 运行时小的其中一个好处在于最终编译出的可执行
线程并发-原子操作与临界区
前言 在并发编程中,多个线程对同一个资源进行访问可能会互相干扰,这种情况被称为竞争条件。造成竞争条件的根本原因在于线程在进行某些操作的过程中被中断,虽然线程再次运行时其状态会恢复如初,但是外界环境可能
线程并发-互斥量和条件变量
临界区常见的同步方式为互斥量与条件变量。 互斥量 互斥量(Mutex)从本质上说是一把锁,在访问共享资源前对互斥量进行加锁,在访问完成后释放锁。当我们对互斥量进行加锁之后,任何其他试图再次对互斥量加锁
线程并发-同步和异步
同步 在很多时候,我们需要多个进程或线程之间相互配合完成一个任务,多个串行程序可能都要对一个共享资源进行访问,或者相互传递一些数据。这种情况下,我们需要协调程序的执行。同步的作用是避免在并发访问共享资
fork
应用场景 fork是目前使用最广泛的进程创建机制,进程通过系统调用函数fork能够创建若干个新的进程,前者称为父进程,后者称为子进程。 概念 操作系统内的每一个进程都有父进程,所有进程形成了一个树形结
线程并发-执行管理(任务分治框架)
概念 将一个复杂的任务分解成更简单的任务再一一解决, 使得每一个子程序更加易于理解并确保其正确, 这是我们常用的方法. 虽然给函数起名是一件痛苦的事情, 但大多数时候我们都乐于做这样的分解。 任务在执
线程并发-执行管理(任务窃取)
概念 任务窃取,也叫work stealing,是指工作线程本身的任务队列为空时, 从其他工作线程的任务队列中窃取任务来执行. 在fork/join篇中, 我们提到, 假如我们要线程池做一些比较大的任
内存管理
内存管理 调用内存过程 cpu->高速缓存->虚拟内存->页表->物理内存 虚拟内存 实现进程隔离 写时复制 减少进程数据拷贝量,降低物理内存开销,提高进程创建效率
写时复制
问题 进程在fork创建子进程时几乎拷贝了父进程的所有数据,这可能导致进程的创建效率十分低效;除此之外,子进程通常会加载新的程序覆盖拷贝的数据段、堆栈等,这又使得先前复制的数据全部浪费掉;就算没有执行
线程并发-执行管理
概念 多线程编程中, 我们常常把任务分解成离散的工作单元(每个工作单元也许很小), 以期并行处理. 但是, 为每个工作单元创建线程(比如boost::async), 尤其是大量创建, 会存在一些不足:
下一页
个人成就
文章被点赞
1
文章被阅读
16,445
掘力值
840
关注了
1
关注者
1
收藏集
1
关注标签
0
加入于
2023-06-21