Announcement

Collapse
No announcement yet.

Threads mit Rückgabe

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Threads mit Rückgabe

    Hi zusammen,
    ich bin ziemlicher Java Anfänger.
    Ich versuche gerade eine Berechnung in mehreren Threads zu machen. Dazu leite ich von der Klasse Thread ab.
    Hier der Code:

    Code:
    public class ThreadRpc extends Thread{
        RpcParameters params = new RpcParameters();
        boolean error;
        
        /** Creates a new instance of ThreadRpc */
        public ThreadRpc(RpcParameters input) {
            params = input;
        }
        
        public RpcParameters[] run(){
            
            ...
    
            RpcParameters[] response;
            response = new RpcParameters[params.getAnzCalls()];
            
            ...
            
            return response;
        }
        
        
    
    }

    Die einzelnen Threads rufe ich so aus meiner Main Methode auf:

    Code:
    for(int i=0; i < threadcount; i++){
                response[i] = threads.run();
    }
    Der Compiler liefert mir immer folgenden Fehler:


    D:\.....\ThreadRpc.java:27: run() in ThreadRpc cannot implement run() in java.lang.Runnable; attempting to use incompatible return type

    found : RpcParameters[]

    required: void

    public RpcParameters[] run(){

    1 error


    Was kann ich hier machen? Wie gesagt, ich bin Anfänger in sachen Java und kann mir momentan keinen Reim machen. Darf ich die run() Methode nicht so erweitern, dass sie mir einen Wert zurück liefert?

    Vielen Dank im Voraus.

    LG

    David

  • #2
    Du MUSST run wie folgt überladen:

    @Override
    public void run()
    {
    }

    Wenn du eine Rückgabe brauchst, kannst du diese in eine Membervariable legen und mit einem Getter abholen. run legt also in deinem Fall den response in einem Membervariable.
    Christian

    Comment

    Working...
    X