java调用dll动态库代码(java 使用dll)

java调用dll动态库代码(java 使用dll)p p 前两种线程创建方式都存在的一个问题 假如线程执行完毕后有一些数据需要返回 他们重写的 run 方法均不能直接返回结果 怎么解决这个问题 JDK5 0 提供了 Callable 接口和 FutureTask 类来实现 多线程的第三种创建方法 这种方式最大的优点 可以返回线程执行完毕后的结果 多线程的第三种创建方式 利用 Callable 接口

大家好,我是讯享网,很高兴认识大家。



 <p></p> 

讯享网

前两种线程创建方式都存在的一个问题:

假如线程执行完毕后有一些数据需要返回,他们重写的run方法均不能直接返回结果。

怎么解决这个问题?

JDK5.0提供了Callable接口和FutureTask类来实现(多线程的第三种创建方法)。

这种方式最大的优点:可以返回线程执行完毕后的结果。

多线程的第三种创建方式:利用Callable接口,FutureTask类来实现。

1)创建任务对象;

      定义一个类实现Callable接口,重写call方法,封装要做的事情,和要返回的数据。

      把Callable类型的对象封装成FutureTask(线程任务对象)。

2)把线程任务对象交给Thread对象。

3)调用Thread对象的start方法启动线程。

4)线程执行完毕后,通过FutureTask对象的get方法去获取线程任务执行的结果。


讯享网

MyCallable:

讯享网

测试类:

 

运行结果:

 

如果上面的线程还没有执行完毕,这里的代码会暂停,等待上面线程执行完毕后才会获取结果。

 线程创建方式三的优缺点:

优点:线程任务类只是实现接口,可以继续继承类和实现接口,扩展性强;可以在线程执行完毕后去获取线程执行的结果。

缺点:编码复杂一点。

小讯
上一篇 2025-05-16 12:01
下一篇 2025-05-16 20:34

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/146560.html