Linux 线程的同步与互斥
线程的互斥 在Posix Thread中定义了一套专门用于线程互斥的mutex函数。mutex是一种简单的加锁的方法来控制对共享资源的存取,这个互斥锁只有两种状态(上锁和解锁),可以把互斥锁看作某种意义上的全局变量。为什么需要加锁,就是因为多个线程共用进程的资源,要访问的是公共区...
线程的互斥 在Posix Thread中定义了一套专门用于线程互斥的mutex函数。mutex是一种简单的加锁的方法来控制对共享资源的存取,这个互斥锁只有两种状态(上锁和解锁),可以把互斥锁看作某种意义上的全局变量。为什么需要加锁,就是因为多个线程共用进程的资源,要访问的是公共区...
TCP特点 面向连接 字节流 可靠传输 关于TCP 使用TCP通信的双方必须先建立连接,然后才能开始数据的读写。 双方都必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输。 TCP连接是全双工的,双方的数据读写可以通过一个连接进行。完成数据交换之后,通信双方都必须...
strace 一个强大的命令行工具,用于在Linux系统上跟踪系统调用和信号 主要用于调试和诊断程序,在了解程序如何与操作系统交互方面非常有用 用法 跟踪系统调用 跟踪现有进程 筛选特定系统调用 写入到文件 跟踪子进程 高级用法 使用-c选项可以查看关于系统调用的统计信息,如次数...
TCP/IP通信案例 HTTP代理服务器的工作原理 在HTTP通信链上,客户端和目标服务器之间通常存在某些中转代理服务器,它们提供对目标资源的中转访问。 一个HTTP请求可能被多个代理服务器转发,后面的服务器称为前面服务器的上游服务器。 代理服务器按照其使用方式和作用,分为正向代...
三组I/O复用对比 概述 上述select,poll和epoll都能同时监听多个文件描述符。它们将等待由timeout参数指定的超时时间,直到一个或多个文件描述符上有事件发生时,返回值是就绪的文件描述符的数量。返回0表示没有事件发生。 这3个函数都通过某种结构体变量来告诉内核监听...
卸载原先VMware的vmtools 安装open-vm-tools 安装pacman -S open-vm-tools 安装gtkmm和gtkmm3 (其实就是默认没有装这两个而已) pacman -S gtkmm pacman -S gtkmm3 重启 reboot
alias 功能说明:设置指令的别名。 语 法:alias[别名]=[指令名称] 补充说明:用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。 alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在.profile或.csh...
gcc/g++介绍 概述 gcc和g++都是GNU(组织)的一个编译器 区别 后缀为.c的文件gcc把它当做c程序,g++当做c++程序。 后缀为c++的两者都当做c++程序。 其他 对于cpp程序,无论gcc或者是g++编译阶段都是相同的 都是用的gcc进行编译 但是在链接阶段...
工作控制 赋予使用者操控进程执行过程的机制,称为工作控制 工作控制过程中常用到的命令有: jobs fg bg 可以执行的操作有: ctrl+z 暂停进程 bg 将进程置为后台进程 ctrl+c 停止进程 fg 将进程置为前台进程 进程替换 通过进程替换我们可以把一个进程的标准输...
服务器模型 C/S模型 TCP/IP协议在设计和实现上并没有客户端和服务器的概念,在通信过程中所有机器都是对等的。 C/S模型的逻辑很简单。 服务器启动后,首先创建一个或多个监听socket,并调用bind函数将其绑定到服务器感兴趣的端口上。 然后调用listen函数等待客户连接...
搜索当前标签