Linux 线程的同步与互斥
线程的互斥 在Posix Thread中定义了一套专门用于线程互斥的mutex函数。mutex是一种简单的加锁的方法来控制对共享资源的存取,这个互斥锁只有两种状态(上锁和解锁),可以把互斥锁看作某种意义上的全局变量。为什么需要加锁,就是因为多个线程共用进程的资源,要访问的是公共区...
线程的互斥 在Posix Thread中定义了一套专门用于线程互斥的mutex函数。mutex是一种简单的加锁的方法来控制对共享资源的存取,这个互斥锁只有两种状态(上锁和解锁),可以把互斥锁看作某种意义上的全局变量。为什么需要加锁,就是因为多个线程共用进程的资源,要访问的是公共区...
活动 它是一种可以包含用户界面的组件,主要用于和用户进行交互 一个应用程序中可以包含0个或多个活动 手动创建活动 大体步骤 新建项目,选择Add No Activity 右击com.example.activitytest包 New->Activity->Empty ...
UNIX-LINUX套接字描述符 套接字描述符是一个整数值,用于唯一标识进程中的一个开放的网络连接或者套接字 在UNIX和Linux系统中,套接字描述符是一种特殊类型的文件描述符,可以用于表示打开的文件、管道、设备或者网络连接 套接字描述符唯一标识了进程中的一个网络连接 在创建新...
示例dump分析:未捕获异常 代码 分析步骤 使用!analyze -v 看到异常代码是e06d7363 对应着CPP_EH_EXCEPTION 触发场景一般为,C++ 托管扩展(/clr)中的异常 使用.exr -1查看异常记录 使用kn查看栈 可以看到是28行Crash函数里...
概述 Windows调试流程 Linux/GDB 的对应流程: 区别 Windows 把调试信息放在独立的 .pdb 文件里,需要你手动指定路径 Linux 把调试信息(DWARF)直接嵌入 .o / 可执行文件 / .so 中(编译时加 -g 选项),所以大部分情况下你不需要额...
概述 在调度程序给另一个可调度线程分配CPU之前,CPU可以运行一个线程大约20ms。 这是在所有线程的优先级都相同的情况下。实际上,线程间的优先级是不同的。 每个线程都会被赋予0(最低)到31(最高)的优先级数。 当系统确定给哪个线程分配CPU时,它会首先查看优先级为31的线程...
文件描述符 内核为每个进程维护一个已打开文件的记录表,文件描述符是一个较小的正整数(0—1023),它代表记录表的一项,通过文件描述符和一组基于文件描述符的文件操作函数,就可以实现对文件的读、写、创建、删除等操作。 常用基于文件描述符的函数有open(打开)、creat(创建)、...
网络信息API gethostbyname和gethostbyaddr gethostbyname根据主机名称获取主机的完整信息。这个函数是通常先在本地的/etc/hosts.conf配置文件中查找主机,如果没有找到,再去访问DNS服务器。 gethostbyaddr根据IP地址...
程序A盖着程序B上面 关于鼠标的消息响应问题 为什么点击公共区域,响应的是上面那个 Windows操作系统按照Z顺序处理窗口,这意味着最上层的窗口优先接收输入事件 操作系统使用Hit Testing方法,根据点击坐标判断哪个窗口包含该坐标 关于未被遮盖部分的显示问题 概述 在Wi...
相关概念 机械硬盘-磁道 机械硬盘盘片上的同心圆轨迹,数据沿磁道存储 机械硬盘-扇区 每个磁道被等分为若干弧段,每个弧段称为一个扇区 是物理扇区 是真实存在的物理结构 例如:一个磁道可能包含数百至上千个扇区,外圈磁道因周长更长可容纳更多扇区 读写单位 扇区是硬盘读写的最小物理单元...
搜索当前分类