如何把一段创建新线程的代码封装成一个类,然后另一个类中引用?如何引用? java线程类executor 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.util.concurrent.Callable;public class MyCallable implements Callable<String>{ private String rtnString; public MyCallable(String rtnString) { this.rtnString = rtnString; } @Override public String call() throws Exception { // TODO Auto-generated method stub return rtnString; }}import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;public class TrdSoap { public static void main(String[] args) { ExecutorService executor = Executors.newFixedThreadPool(3); MyCallable call = new MyCallable("call test!!!"); Future<String> result = executor.submit(call); try { String rtnString = result.get(); System.out.println(rtnString); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ExecutionException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { executor.shutdown(); } }} 谢谢回复,那这个TrdSoap类能不能在另一个类(JAVA文件)里调用?如果可以,如何调用? 本来就不是一个类文件里面的,没看到两个class都是public?import一下就好了。 public abstract class HandlersBase { protected bool isBusy = false; protected bool isFinished = true; protected Task task; public HandlersBase(string showStr,CancellationToken token) { task = Task.Factory.StartNew(Handler,token,token,TaskCreationOptions.LongRunning,TaskScheduler.Default); MessageModel.Message(string.Format("{0} 启动完成!", showStr)); } public bool IsHandlersBusy() { return isBusy; } public abstract bool IsHandlersFinished(); public abstract void Handler(object token); } public class TranslatorHandler : HandlersBase { public TranslatorHandler(int i,CancellationToken token) : base("翻译线程" + i.ToString(),token) { } public override void Handler(object token) { while (!((CancellationToken)token).IsCancellationRequested) { //实现 } } public override bool IsHandlersFinished() { //实现 } } 谢谢,这个是C#的,有没有java的? utf-8 或 gbk 如何转成 Unicode jxl在excel中插入形状并在形状上写字 在线等待 中软招聘笔试题目: 哪里可以下载 侯杰 翻译的 Java 编程思想? 刚刚入门JAVA,一个简单的小问题 录音问题--我在sun网站上找到的例子但不满意(请大家多出主意) 怎么处理日期问题 请问你们作JAVA程序一般用什么编译器? 请问ssl不用编程可以实现吗?比如说通过应用服务器的设置。 请问在JAVA中有没有提供对C或C++接口的访问 自己写了个多线程卖票,对synchronize的疑问 关于界面的编程
import java.util.concurrent.Callable;
public class MyCallable implements Callable<String>{ private String rtnString;
public MyCallable(String rtnString)
{
this.rtnString = rtnString;
}
@Override
public String call() throws Exception {
// TODO Auto-generated method stub
return rtnString;
}}import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class TrdSoap { public static void main(String[] args)
{
ExecutorService executor = Executors.newFixedThreadPool(3);
MyCallable call = new MyCallable("call test!!!");
Future<String> result = executor.submit(call);
try {
String rtnString = result.get();
System.out.println(rtnString);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
executor.shutdown();
}
}
}
public abstract class HandlersBase
{
protected bool isBusy = false;
protected bool isFinished = true;
protected Task task;
public HandlersBase(string showStr,CancellationToken token)
{
task = Task.Factory.StartNew(Handler,token,token,TaskCreationOptions.LongRunning,TaskScheduler.Default);
MessageModel.Message(string.Format("{0} 启动完成!", showStr));
} public bool IsHandlersBusy()
{
return isBusy;
} public abstract bool IsHandlersFinished();
public abstract void Handler(object token);
} public class TranslatorHandler : HandlersBase
{
public TranslatorHandler(int i,CancellationToken token)
: base("翻译线程" + i.ToString(),token)
{ } public override void Handler(object token)
{
while (!((CancellationToken)token).IsCancellationRequested)
{
//实现
}
}
public override bool IsHandlersFinished()
{
//实现
}
}