当前位置:网站首页 > Java基础 > 正文

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



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

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

怎么解决这个问题?

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

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

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

1)创建任务对象;

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

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

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

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

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

MyCallable:

 
  

测试类:

 
  

运行结果:

 

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

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

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

缺点:编码复杂一点。

到此这篇java调用dll动态库代码(java 使用dll)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • java date工具类(java中dateformat类)2026-02-11 23:54:12
  • java爬虫和python爬虫区别(java爬虫与python爬虫)2026-02-11 23:54:12
  • 华为java面试题及答案(华为java面试题目)2026-02-11 23:54:12
  • java字符串转map集合(java 字符串转map)2026-02-11 23:54:12
  • 华为odjava面试题(华为od面试题目)2026-02-11 23:54:12
  • jvm内存模型图(javajvm内存模型)2026-02-11 23:54:12
  • java阻塞队列使用(java阻塞队列生产消费者)2026-02-11 23:54:12
  • javaweb自学网站(javaweb自学需要多久)2026-02-11 23:54:12
  • 单向链表反转java实现(编写实现单向链表逆转的程序)2026-02-11 23:54:12
  • java基础教学网站(java基础课程视频)2026-02-11 23:54:12
  • 全屏图片