
Linux 高性能服务器编程:高性能服务器架构二 7
两种高效的并发模式 并发编程的目的是让程序“同时”执行多个任务。 如果程序是计算密集型的,并发编程并没有优势,反而由于任务的切换使效率降低。 但如果程序是I/O密集型的,比如经常读写文件,访问数据库等,则情况就不同了。 由于I/O操作的速度远没有CPU计算速度快,所以让程序阻塞I...
两种高效的并发模式 并发编程的目的是让程序“同时”执行多个任务。 如果程序是计算密集型的,并发编程并没有优势,反而由于任务的切换使效率降低。 但如果程序是I/O密集型的,比如经常读写文件,访问数据库等,则情况就不同了。 由于I/O操作的速度远没有CPU计算速度快,所以让程序阻塞I...
vim模式 命令模式(默认) 刚进入vim的时候,默认就是 命令模式,可以复制行,删除行等。 命令模式→输入模式 i:在当前光标所在字符的前面,转为输入模式 I:在当前光标所在行的行首转换为输入模式 a:在当前光标所在字符的后面,转为输入模式 A:在光标所在行的行尾,转换为输入模...
strace 一个强大的命令行工具,用于在Linux系统上跟踪系统调用和信号 主要用于调试和诊断程序,在了解程序如何与操作系统交互方面非常有用 用法 跟踪系统调用 跟踪现有进程 筛选特定系统调用 写入到文件 跟踪子进程 高级用法 使用-c选项可以查看关于系统调用的统计信息,如次数...
概述 I/O复用使得程序能同时监听多个文件描述符,这对提高程序的性能很重要。 通常,网络程序在下列情况下需要使用I/O复用技术: 客户端程序要同时处理多个socket。 客户端程序要同时处理用户输入和网络连接。 TCP服务器要同时处理监听socket和连接socket。 服务器要...
linux操作系统启动过程 第一个进程 在传统的Unix和Linux系统中,init进程是系统启动后的第一个进程(PID为1) 它是系统的祖先进程,负责启动其他所有的进程 在许多现代Linux发行版中,systemd已经取代了传统的init系统 在这些系统中,systemd是第一...
划分 依据文件系统使用的频繁与否与是否允许使用者随意更动, 而将目录定义成为四种交互作用的形态 可分享的 可以分享给其他系统挂载使用的目录 不可分享的 机器上面运作的配置文件或程序相关的socket文件等 可变的 有些不会经常变动的数据 不可变的 经常改变的数据 可分享的 不可分...
三组I/O复用对比 概述 上述select,poll和epoll都能同时监听多个文件描述符。它们将等待由timeout参数指定的超时时间,直到一个或多个文件描述符上有事件发生时,返回值是就绪的文件描述符的数量。返回0表示没有事件发生。 这3个函数都通过某种结构体变量来告诉内核监听...
archive 功能说明:新闻组文件备存程序。 语 法:archive [-fmr][-a<备存目录>][-i<索引文件>][源文件] 补充说明:archive会读取新闻组的文件,然后加以备存。archive备存时,会保存[源文件]中文件的目录阶层。 参...
信号 概述 /usr/include/ 信号是进程间通信(IPC)的一种简单机制 信号提供了一种向进程传递通知和信息的方式,以便进程可以相应地做出反应 信号类型 SIGINT:当用户按下CTRL-C时,通常发送这个信号来中断进程 SIGTERM:用于正常终止进程,是kill命令的...
TCP特点 面向连接 字节流 可靠传输 关于TCP 使用TCP通信的双方必须先建立连接,然后才能开始数据的读写。 双方都必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输。 TCP连接是全双工的,双方的数据读写可以通过一个连接进行。完成数据交换之后,通信双方都必须...
搜索当前分类