草庐IT

DLL_THREAD_ATTACH

全部标签

java - JNA - 在从 DLL 传回的 C++ 实例上调用方法

假设我有一个带有单个导出方法的C++DLL,例如:CustomerProcessor*getInstance();即它只是返回实际包含我需要调用的方法的类的实例。我知道我可以使用JNA(扩展com.sun.jna.Library)将getInstance()方法映射到Java中的一个类,将返回的CustomerProcessor实例存储在com.sun.jna.Pointer中。然后我能否以某种方式将它映射到CustomerProcessor类,以便我可以调用它的方法(如果可以,如何调用)? 最佳答案 对于任意type*functi

java - 'Thread termination due to failure'指的是什么?

ExecutorService的javadoc有时会提到线程“由于失败”而终止的情况。但是,目前尚不清楚这指的是哪种故障。例如,singlethreadexecutor文档说ifthissinglethreadterminatesduetoafailureduringexecutionpriortoshutdown,anewonewilltakeitsplaceifneededtoexecutesubsequenttasks我本来以为这种情况可能发生在Exception的情况下,也可能是RuntimeException,但似乎并不是这样。运行以下代码似乎给出了相同的线程名称和线程ID。

Java Thread.sleep 最短时间

这个问题在这里已经有了答案:HowaccurateisThread.sleep?(3个答案)关闭5年前。TimeUnit.sleep(longtimeout)文档这样描述它的论点:timeout-theminimumtimetosleep.但是,我发现—至少在带有Java8update141的Windows764位上—线程hibernate的时间通常少于:publicstaticvoidmain(String[]args)throwsInterruptedException{finallongfrom=TimeUnit.MILLISECONDS.toNanos(100);finallo

java - Maven Dll依赖问题

我正在开发一个基于swing的桌面应用程序,这个应用程序正在使用MediaInfo.dll库。我首先将此dll安装到我的本地存储库,如所述thisanswer.然后我像这样在我的pom.xml中添加了一个依赖项com.mediainfomediainfo0.7.44dll我正在使用Maven3.0.3版本,当我执行mvninstallassembly:assembly时它说PlexusIoResourceCollectionnotfound,noarchieverfoundfordll我是maven的新手,所以我正在寻求帮助,然后才把我的耳朵拉出来。 最佳答

java - 单例对象工厂 : is this code thread-safe?

我有一个用于许多单例实现的通用接口(interface)。接口(interface)定义了可以抛出检查异常的初始化方法。我需要一个工厂来按需返回缓存的单例实现,想知道以下方法是否线程安全?UPDATE1:请不要建议任何第三部分库,因为由于可能的许可问题,这将需要获得法律许可:-)更新2:此代码可能会在EJB环境中使用,因此最好不要产生额外的线程或使用类似的东西。interfaceSingleton{voidinit()throwsSingletonException;}publicclassSingletonFactory{privatestaticConcurrentMap>CACH

java 。 JNI。 jvm.dll

我有VisualStudioC++项目,它必须调用一些java功能。我打算使用JNI。我已经指定了额外的包含目录:C:\ProgramFiles(x86)\Java\jdk1.7.0_10\includeC:\ProgramFiles(x86)\Java\jdk1.7.0_10\include\win32和额外的库目录C:\ProgramFiles(x86)\Java\jdk1.7.0_10\lib并且能够编译所需的代码。但由于下一个错误,我仍然无法运行它:程序无法启动,因为缺少jvm.dll...我想,最简单的方法就是将dll复制到项目目录中。但我不知道是哪一个。例如,我发现其中有几

java - JNA C DLL 调试方法?

我有一个DLL,它接受编码字符串输入并对其进行解码。DLL是使用Codeblocks和mingw64在Win764位上制作的。C代码单独运行良好,但是当我在while循环中使用相同的字符串通过JNA运行它时,它被正确解码了大约70%的调用,而其余的则不正确。我想调试这种情况,但我不确定在Java代码将控制权移交给JNA之后该怎么做。或者,任何关于在哪里查看的想法也会有所帮助。C和JNA中的方法签名如下,Java:intDecrypt_Blk(byte[]expkey,byte[]in,intsize,byte[]out);C:__declspec(dllexport)intDecryp

java - 修复 : java. lang.UnsatisfiedLinkError : no attach in java. library.path

我正在尝试使用AttachAPI获取在我的机器上运行的所有虚拟机的列表。这是我使用的代码:importjava.lang.reflect.Field;importjava.util.List;importcom.sun.tools.attach.*;publicclassJVMListManager{staticStringpathToAdd="C:/ProgramFiles/Java/jdk1.7.0_03/jre/bin/attach.dll";publicstaticvoidsetLibraryPath(Stringpath)throwsException{System.setP

java - Thread 在这里比 Executor 更受青睐吗?

据我了解,Executors有助于处理runnable的执行。例如。当我有几个工作线程完成它们的工作然后终止时,我会选择使用执行程序。执行者将处理创建和终止执行工作线程所需的线程。但是现在我面临着另一种情况。固定数量的类/对象应封装自己的线程。因此线程在创建这些对象时启动,线程将在这些对象的整个生命周期内继续运行。少数对象依次在程序开始时创建并在整个运行时存在。我想在这种情况下线程比执行器更可取,但是当我阅读互联网时,每个人似乎都建议在任何可能的情况下使用执行器而不是线程。有人可以告诉我这里是选择Executors还是Threads,为什么?谢谢 最佳答案

java - 我如何保证 Thread.sleep 至少 hibernate 那么长的时间?

根据thisquestion,Thread.sleep不一定保证在您指定的时间内hibernate:它可能更短或更长。如果您阅读Thread.sleep的文档,您会发现对于sleep的确切持续时间没有强有力的保证。它特别指出持续时间是subjecttotheprecisionandaccuracyofsystemtimersandschedulers这(有意)含糊但暗示不应过分依赖持续时间。特定操作系统上可能的hibernate持续时间的粒度由线程调度程序的中断周期决定。InWindows,thescheduler'sinterruptperiodisnormallyaround10o