Java线程池在运行后的结果反查

Java线程池在运行后的结果反查,第1张

Java线程池需要不断的学习 在学习的时候我们就要注意不少的问题 下面我们就来看看具体的语言运作环境如何才能满足Java线程池相关程序的运行 希望大家有所收获

无论是接收Runnable型参数 还是接收Callable型参数的submit()方法 都会返回一个Future(也是一个接口)类型的对象 该对象中包含了任务的执行情况以及结果 调用Future的boolean isDone()方法可以获知任务是否执行完毕 调用Object get()方法可以获得任务执行后的返回结果 如果此时任务还没有执行完 get()方法会保持等待 直到相应的任务执行完毕后 才会将结果返回

我们用下面的一个例子来演示Java 中Java线程池的使用

Java代码

import ncurrent *

public class ExecutorTest {

public static void main(String[] args) throws

InterruptedException

ExecutionException {

ExecutorService es = Executors newSingleThreadExecutor()

Future fr = es submit(new RunnableTest())// 提交任务

Future fc = es submit(new CallableTest())// 提交任务

// 取得返回值并输出

System out println((String) fc get())

// 检查任务是否执行完渣姿哪毕

if (fr isDone()) {

System out println( 执行完毕 RunnableTest run() )

} else {

System out println( 未执行完 RunnableTest run() )

}

// 检查任务是否执行完毕

if (fc isDone()) {

System out println( 执行完毕 CallableTest run() )

 册游  } else {

System out println( 未执行完 CallableTest run() )

}

// 停止如码线程池服务

es shutdown()

}

}

class RunnableTest implements Runnable {

public void run() {

System out println( 已经执行 RunnableTest run() )

}

}

class CallableTest implements Callable {

public Object call() {

System out println( 已经执行 CallableTest call() )

return 返回值 CallableTest call()

}

}

import ncurrent *

public class ExecutorTest {

public static void main(String[] args) throws

InterruptedException

ExecutionException {

ExecutorService es = Executors newSingleThreadExecutor()

Future fr = es submit(new RunnableTest())// 提交任务

Future fc = es submit(new CallableTest())// 提交任务

// 取得返回值并输出

System out println((String) fc get())

// 检查任务是否执行完毕

if (fr isDone()) {

System out println( 执行完毕 RunnableTest run() )

} else {

System out println( 未执行完 RunnableTest run() )

}

// 检查任务是否执行完毕

if (fc isDone()) {

System out println( 执行完毕 CallableTest run() )

} else {

System out println( 未执行完 CallableTest run() )

}

// 停止线程池服务

es shutdown()

}

}

class RunnableTest implements Runnable {

public void run() {

System out println( 已经执行 RunnableTest run() )

}

}

class CallableTest implements Callable {

public Object call() {

System out println( 已经执行 CallableTest call() )

return 返回值 CallableTest call()

}

}

运行结果

已经执行 RunnableTest run()

已经执行 CallableTest call()

返回值 CallableTest call()

执行完毕 RunnableTest run()

执行完毕 CallableTest run()

lishixinzhi/Article/program/Java/gj/201311/27283

感兴趣,查了半天,轮租轮只能将域名转腊信换为IP,IP转域名不是很好用。源型派代码如下:

import java.net.*

public class GetAddress {

public static void main (String[] argv) throws Exception {

InetAddress host=null

//host=InetAddress.getLocalHost()

host=InetAddress.getByName("www.baidu.com")

//host=InetAddress.getByAddress(new byte[]{(byte)202,108,22,43})

byte[] ip=host.getAddress()

for (int i=0i<ip.lengthi++) {

if (i>0) System.out.print(".")

System.out.print(ip[i]&0xff)

}

System.out.println("Name:" + host.getCanonicalHostName())

System.out.println()

}

}

如今JAVA语言在全世界范围正如火如荼般的流行,它广范地应用在INTERNET的数据库、多媒体、CGI、及动态网页的制作方面。1999年在美国对JAVA程序员的需求量首次超过C++!

作者因最近分析一些扮丛JAVA程序,对JAVA的反编译进行了一番了解,下面将我所了解的情况作以下介绍,希望对JAVA爱好者有所帮助。

JAVA是采用一种称做“字节编码”的程序结构,分为小程序(嵌入到HTML文件中)和应用程序(直接在命令状态下执行)两种类型。无论哪种结构,一旦用JAVAC 命令编译后,均变成后缀为CLASS的同名可执行文件。这种文件是不可阅读的代码。

经查阅了SUN公司的JDK(JDK1.1.3)文档资料后,我找到了一个据称是可反编译JAVA的JAVAP文件(EXE),这个文件位于\JDK\BIN\ 下面,经按说明使用后,感到失望,原来这个“反编译”仅可反编译出JAVA程序的数据区雀坦(定义)、若干方法和类的引用等。

这里我用了一厅岁樱个简单例子来说明问题。

JAVA的源程序hello_java.java如下:

import java.applet.*

import java.awt.*

public class hello_java extends Applet

{

public void paint(Graphics g)

{

g.drawString("Hello Java!\n",20,20)

}

}

经用反编译命令:javap -c -package -public -private hello_java hello.java

得到的反编译结果(hello.java)如下:(有关javap命令的选择参数请见其使用说明,这里-c表示选择了反编译)

Compiled from hello_java.java

public synchronized class hello_java extends java.applet.Applet

/* ACC_SUPER bit set */

{

public void paint(java.awt.Graphics)

public hello_java()

Method void paint(java.awt.Graphics)

0 aload_1

1 ldc #1

3 bipush 20

5 bipush 20

7 invokevirtual #6

10 return

Method hello_java()

0 aload_0

1 invokespecial #5 ()V>

4 return

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12371308.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存