解决方案 »

  1.   


    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();
     }
     }
    }
      

  2.   

    谢谢回复,那这个TrdSoap类能不能在另一个类(JAVA文件)里调用?如果可以,如何调用?
      

  3.   

    本来就不是一个类文件里面的,没看到两个class都是public?import一下就好了。
      

  4.   


        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()
            {
                //实现
            }
        }
      

  5.   

    谢谢,这个是C#的,有没有java的?