Changes

Jump to navigation Jump to search
802 bytes added ,  10:53, 25 April 2022
m
Line 3: Line 3:  
===With apt===
 
===With apt===
 
  <nowiki>sudo apt-add-repository ppa:webupd8team/java
 
  <nowiki>sudo apt-add-repository ppa:webupd8team/java
                                sudo apt-get update
+
                                sudo apt-get update
                                sudo apt-get install oracle-java8-installer</nowiki>
+
                                sudo apt-get install oracle-java8-installer</nowiki>
    
Also ensure your JAVA_HOME variable has been set to:
 
Also ensure your JAVA_HOME variable has been set to:
Line 1,020: Line 1,020:  
Static fields aren't serialized too.
 
Static fields aren't serialized too.
   −
== Threading ==
+
==Threading==
 
<syntaxhighlight lang="java">
 
<syntaxhighlight lang="java">
 
class Task1 extends Thread {
 
class Task1 extends Thread {
Line 1,063: Line 1,063:  
</syntaxhighlight>
 
</syntaxhighlight>
   −
=== Executor service ===
+
===Executor service===
 
<syntaxhighlight lang="java">
 
<syntaxhighlight lang="java">
 
import java.util.concurrent.ExecutorService;
 
import java.util.concurrent.ExecutorService;
Line 1,092: Line 1,092:  
         executorService.execute(new Task(4));
 
         executorService.execute(new Task(4));
 
         executorService.shutdown()
 
         executorService.shutdown()
 +
    }
 +
}
 +
</syntaxhighlight>
 +
 +
=== Return values from threads ===
 +
<syntaxhighlight lang="java">
 +
import java.util.concurrent.Callable;
 +
 +
class CallableTask implements Callable<String> {
 +
 +
    public CallableTask(String name){
 +
        this.name = name;
 +
    }
 +
 +
    @Override
 +
    public String call() throws Exception {
 +
        Thread.sleep(1000);
 +
        return "Hello " + name;
 +
    }
 +
}
 +
 +
public class CallableRunner throws InterruptedException, Exec... {
 +
    public static void main(String[] args){
 +
        ExecutorService executorService = Executors.newFixedThreadPoool(1);
 +
        Future<String> welcomeFuture = executorService.submit(new CallableTask("Manolo"));
 +
        System.out.print("\ncallable executed")
 +
        String welcomeMessage = welcomeFuture.get();
 +
        System.out.print("\nMain completed")
 
     }
 
     }
 
}
 
}

Navigation menu