0

Java 中有许多 API 支持blockingcall(timeout),如 Socket、Lock 等。这些东西是如何在 Java 中实现的?

我试图找出答案,但它导致本机代码不可见:(

在本机级别的Java中是否使用了类似的方法,例如创建线程并在超时时中断它?如果是这样,那么在 Java 级别也可以这样做,为什么要使用本机?

4

1 回答 1

1

it lead to native code which is not visible这通常意味着它没有在 Java 中实现。通常它是由操作系统实现的。您可以获得 Linux 的源代码,但不能获得 Windows AFAIK。

使用 Java 线程中断,实际上并不会中断线程。它只是设置一个不会唤醒所有阻塞操作的标志。不使用此机制,因为它并不总是您想要的。

于 2013-01-07T11:19:08.503 回答