并发与并行

为了让程序更好地利用计算机资源,出现了进程/线程,以及并发模式和并行模式的概念。 一、进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。 B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。 C. 一个进程可以创建和撤销多个线程;同一个进程中的多个线程之间可以并发执行。 二、并发和并行 A. 多线程程序在一个核的cpu上运行,就是并发。 B. 多线程程序在多个核的cpu上运行,就是并行。 如图所示: 三、并发和并行的效率比较 如上图所示,假定任务A/B/C均衡分配,并行效率更高,因为并发切换线程需要cpu开销(图中树立的双虚线)。 但是为什么 …

vim 文件相关(四)

一、vim 文件管理相关 插件: " 文件管理插件 Plug 'preservim/nerdtree' Plug 'Xuyuanp/nerdtree-git-plugin' " 历史文件增强 :browse oldfiles Plug 'gpanders/vim-oldfiles' 配置: " NERDTree插件的快捷键 nn <silent> <F5> :NERDTreeToggle<CR> "自动启动nerdtree autocmd VimEnter * NERDTree | wincmd p …

vim 窗口相关(三)

一、vim 窗口类别 1.文本窗口: 主窗口,文本区。 2.buffer窗口: vim运行期间的缓冲文件列表。关闭后清零。 打开: “:ls” 关闭: <ESC>或者选择一个文件序号自动关闭 3. quickfix窗口: 运行结果显示等。也有插件利用这个窗口显示文件列表。 打开: “<leader>o”,此快捷键参照配置文件定义。 <leader>为"," 关闭: 按提示<CR>回车,或者 “<leader>oo”. 参照配置文件。 <leader>配置: " …

vim 配置(二)

一、vim安装插件管理器 早期的vim插件需要在网站下载,然后复制到对应目录.(https://www.vim.org/scripts/index.php) 受益于github的发展,用插件管理器(一般使用plug.vim)可以批量自动安装和更新插件。非常方便。 git clone https://github.com/junegunn/vim-plug ,然后复制 plug.vim 到vim目录下的 autoload目录就完成了。 二、vim配置文件 1.vimrc位置目录 vimrc是vim的总配置文件,windows下为vimrc,linux/macos为.vimrc。 一般位于$HOME目录。启动vim,命令行输入:echo …

vim 入门(一)

一、vim起源 vim至今30年历史了,vim是"Vi Improved"的缩写,由vi发展而来. vi是unix系统默认编辑器,当时没有鼠标,键盘的按键也较少,比如方向键/Cap等就没有。所以当时的人们(主要是贝尔实验室)创造一个纯键盘的文字编辑器。意外的是,经过几十年的验证,纯粹键盘操作比居然比鼠标更加便捷高效。 甚至有vim狂热喜爱者喊出口号:世上的编辑器分两种,一种是vim,一种是其他。^_^ 二、vim介绍 以下vim默认为vim8.1+版本。 1.vim界面 通常的vim界面如下图。左边是文件列表(nerdtree插件效果),右底下是quickfix区域,一般显示查找运行结果/查找结果列表之类。右边面 …