问题标签 [handles]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 有几个文件指针同时打开好吗?
我正在读取数百甚至数千个文件中的某些偏移量。因为在那个特定时间我只需要来自某些偏移量的某些数据,所以我必须保持文件句柄打开以供以后使用,或者我可以将我需要的部分写入单独的文件中。
我认为保持所有这些文件句柄处于打开状态而不是对新临时文件的磁盘进行大量写入是两害相权取其轻的做法。我只是担心打开这么多文件句柄的效率。
通常,我会打开一个文件,寻找一个偏移量,读取一些数据,然后 5 秒后在另一个偏移量处做同样的事情,并在 2 分钟的时间内对数千个文件执行所有这些操作。
这会是个问题吗?
跟进:真的,我在问哪个更好,让这数千个文件句柄保持打开状态,或者在我瞬间需要它们时不断关闭它们并重新打开它们。
c++ - 匿名管道
我编写了两个使用匿名管道进行通信的简短程序。父进程通过为子进程设置标准 IO 句柄来共享管道句柄:
子进程通过调用GetStdHandle获取读取管道句柄:
我的问题是:管道句柄是由调用CloseHandle () 的父进程创建的,一旦父子完成通信。
孩子也必须调用 CloseHandle() 吗?我在想,因为这些是标准的 IO 句柄,所以当进程折叠时它们会被自动释放。
谢谢!
java - 如何确定 Java 应用程序为什么慢
我们有一个 Java ERP 类型的应用程序。服务器和客户端之间的通信是通过 RMI 进行的。在高峰时段,最多可以有 250 名用户登录,其中大约 20 人同时工作。这意味着在高峰时段的任何给定时间大约有 20 个线程处于活动状态。服务器可以运行几个小时而没有任何问题,但是突然之间响应时间变得越来越长。响应时间可以在几分钟内。
我们在带有 Sun 的 JDK 1.6.0_16 的 Windows 2008 R2 上运行。我们一直在使用 perfmon 和 Process Explorer 来查看发生了什么。我们唯一觉得奇怪的是,当服务器开始运行缓慢时,java.exe 进程打开的句柄数约为 3500。我并不是说这是实际问题。
我只是好奇是否有一些我应该遵循的指导方针以便能够查明问题。我应该使用什么工具?……
c++ - 测试无效的窗口句柄:我应该与“NULL”、“0”甚至“nullptr”进行比较吗?
我来自一个背景,通常应该将指针与“NULL”进行比较,将整数与“0”进行比较。
由于我没有将 Windows 句柄视为纯粹意义上的“指针”(即“句柄”),因此我养成了将它们与 0 而不是“NULL”进行比较的习惯。
显然,它们现在在内部作为指针实现,但我个人认为这仅仅是为了获得一些类型安全,而不是因为它们本质上是指针。
无论如何,我只是注意到返回 HDC 的 CreateIC 的帮助指出,如果函数失败,则返回“NULL”。
现在我很困惑——我想知道其他人是怎么想的——将 Windows 句柄视为指针是否更正确(因此对于现代编译器来说,将其与“NULL”或“nullptr”进行比较)还是应该考虑是一个整数?
c++ - 处理比较:空类与未定义类与 void*
Microsoft 的GDI+定义了许多在内部被视为句柄的空类。例如,(来源GdiPlusGpStubs.h
)
还有另外两种定义句柄的方法。他们是,
我只想知道每种方法的优缺点。
微软方法的一个优点是,他们可以使用空类定义句柄的类型安全 层次结构,这(我认为)在其他两种方法中是不可能的,尽管我想知道这种层次结构会给实现带来什么好处?无论如何,还有什么?
编辑:
第二种方法(即使用不完整的类)的一个优点是我们可以防止客户端取消引用句柄(这意味着,这种方法似乎强烈支持封装,我想)。如果尝试取消引用句柄,代码甚至无法编译。还有什么?
第三种方法也具有相同的优势,即您不能取消引用句柄。
function - matlab中的函数句柄
我很难理解这段代码
我的想法是 lsqnonlin 将递归调用 argn->fun 函数,但我不确定。这样对吗?
c# - 从 pid 或句柄获取进程名称
假设我已经有了窗口的句柄,我可以使用GetWindowThreadProcessId
. 有没有一种方法可以让我获得进程名称而不必获取所有进程并尝试匹配我的 PID?
c# - 按进程列出打开的文件
假设我有 pid 或进程名称,如何在 c# 中通过该进程获取打开的文件?以前有人问过这个问题,但我找不到我要找的东西。我知道每个进程可能会有很多句柄,但我可以稍后将它们过滤掉。那么,这可能吗?
java - SWT - How to debug "No more handles"
from time to time I am haunted by the "org.eclipse.swt.SWTError: No more handles". I already know tools like GDIView, to watch the number of handles allocated, but now I wonder if there is a better way to do this.
Is there a tool available? Maybe one that logs all stacktraces when handles are created? And which shows the new handles between two invocation points?
Regards, Daniel
PS: Added the windows tag because dev occures mostly on windows and a windows only tool would be good enough.
user-interface - 如何从其他功能访问我的 GUIDE 图上的控件?
我正在为我的项目GUIDE
创建一个。GUI
MATLAB
在我的一个按钮回调中,我调用了一个函数。
在收到该函数的输出后,我将名称标签设置为 Name 的值。是否可以从函数内部进行设置?我必须做什么才能允许该功能访问 GUIData?
我曾尝试从该函数内部使用 set/get,但我似乎无法让它工作。
或者,无论如何我可以让“句柄”在全球范围内可用?