![为什么 X11 窗口标识符如此大(长无符号)整数?](https://linux22.com/image/70505/%E4%B8%BA%E4%BB%80%E4%B9%88%20X11%20%E7%AA%97%E5%8F%A3%E6%A0%87%E8%AF%86%E7%AC%A6%E5%A6%82%E6%AD%A4%E5%A4%A7%EF%BC%88%E9%95%BF%E6%97%A0%E7%AC%A6%E5%8F%B7%EF%BC%89%E6%95%B4%E6%95%B0%EF%BC%9F.png)
我想象窗口 ID 只是特定显示器的窗口数量,但为什么它们实际上如此大?
答案1
为了避免必须在客户端之间进行同步以分配新的 id,每个 X11 客户端都会被简单地指定一个大范围的资源 id 供其使用,并且 id 会从该集合中出来,而不管其他客户端在其集合中使用了什么。
此外,资源标识符用于顶层窗口以外的对象,因此,如果您仅列出窗口标识符,您将看到许多实际上被其他对象占用的空洞。
我想象窗口 ID 只是特定显示器的窗口数量,但为什么它们实际上如此大?
为了避免必须在客户端之间进行同步以分配新的 id,每个 X11 客户端都会被简单地指定一个大范围的资源 id 供其使用,并且 id 会从该集合中出来,而不管其他客户端在其集合中使用了什么。
此外,资源标识符用于顶层窗口以外的对象,因此,如果您仅列出窗口标识符,您将看到许多实际上被其他对象占用的空洞。