Skip to content

Commit 25ad9e4

Browse files
committed
udpate
1 parent 94b28c6 commit 25ad9e4

File tree

1 file changed

+34
-53
lines changed

1 file changed

+34
-53
lines changed

src/main/java/threadDev/Test1.java

Lines changed: 34 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,70 @@
11
package threadDev;
22

3-
// https://docs.hazelcast.org/docs/1.9/manual/html/ch07s02.html
4-
5-
import java.io.Serializable;
63
import java.util.concurrent.*;
74

85
public class Test1 {
9-
public static void main(String[] args){
10-
11-
//ThreadPoolExecutor es = new ThreadPoolExecutor(10); //Hazelcast.getExecutorService();
12-
13-
final int _pcautoSchedulerPoolSize = 10;
14-
final int KEEP_ALIVE_TIME = 60;
15-
6+
public static void main(String[] args) {
7+
final int CORE_POOL_SIZE = 10;
168
final int MAX_POOL_SIZE = 11;
17-
final int CORE_POOL_SIZE = 10; // Example value, set according to your needs
9+
final int KEEP_ALIVE_TIME = 60;
1810

1911
ThreadPoolExecutor executor = new ThreadPoolExecutor(
2012
CORE_POOL_SIZE,
2113
MAX_POOL_SIZE,
2214
KEEP_ALIVE_TIME,
2315
TimeUnit.SECONDS,
2416
new SynchronousQueue<>(),
25-
new ThreadPoolExecutor.AbortPolicy() // DiscardPolicy
17+
new ThreadPoolExecutor.AbortPolicy()
2618
);
2719

28-
//Test1 t1 = new Test1();
29-
Fibonacci fibonacci = new Fibonacci();
30-
System.out.println("executor submit task");
31-
32-
int N = 3;
33-
Future future = executor.submit(() -> {
20+
int N = 10;
21+
Future<Integer> future = executor.submit(() -> {
3422
System.out.println("--> Thread name : " + Thread.currentThread().getName() + ", id = " + Thread.currentThread().getId());
35-
//fibonacci.call(10);
36-
new Fibonacci(N);
23+
return new Fibonacci2(N).calculate();
3724
});
3825

39-
Fibonacci f = new Fibonacci(10);
40-
41-
// FutureTask<Integer> futureTask = new FutureTask<>(() -> {
42-
// System.out.println("--> Thread name : " + Thread.currentThread().getName() + ", id = " + Thread.currentThread().getId());
43-
// // Simulate some work, e.g., Fibonacci calculation
44-
// //new Fibonacci(10); // Replace '10' with 'N' if 'N' is defined elsewhere
45-
// });
46-
47-
for (int i = 0; i < 3; i++){
26+
for (int i = 0; i < 3; i++) {
4827
executor.submit(() -> {
4928
System.out.println("--> Thread name : " + Thread.currentThread().getName() + ", id = " + Thread.currentThread().getId());
50-
new Fibonacci(2);
29+
new Fibonacci2(2).calculate();
5130
});
5231
}
5332

54-
5533
try {
56-
57-
// while(!futureTask.isDone()){
58-
// System.out.println("wait for futureTask done, sleep 3 milli sec");
59-
// Thread.sleep(3);
60-
// }
61-
//
62-
// System.out.println("futureTask.isDone() = " + futureTask.isDone());
63-
// System.out.println("futureTask result = " + futureTask.get());
64-
65-
//return future.get(3, TimeUnit.SECONDS);
66-
System.out.println("future.isDone() = " + future.isDone());
67-
System.out.println("future result = " + future.get(10, TimeUnit.SECONDS));
34+
System.out.println("Waiting for future result...");
35+
Integer result = future.get(10, TimeUnit.SECONDS);
36+
System.out.println("Future result: " + result);
6837
} catch (TimeoutException e) {
69-
System.out.println("future cancel");
38+
System.out.println("Future task timed out, cancelling...");
7039
future.cancel(true);
7140
} catch (ExecutionException e) {
72-
throw new RuntimeException(e);
41+
System.out.println("Exception occurred during task execution");
42+
e.printStackTrace();
7343
} catch (InterruptedException e) {
74-
throw new RuntimeException(e);
75-
}finally{
76-
System.out.println("executor shutdown");
44+
System.out.println("Main thread interrupted");
45+
e.printStackTrace();
46+
} finally {
7747
executor.shutdown();
7848
}
7949

80-
System.out.println(123);
81-
50+
System.out.println("Main method finished");
8251
}
52+
}
8353

84-
public void myFunc(){
85-
System.out.println(123);
54+
class Fibonacci2 {
55+
private final int N;
56+
57+
public Fibonacci2(int N) {
58+
this.N = N;
8659
}
8760

61+
public int calculate() {
62+
System.out.println("Fibonacci2 calculate, N = " + N);
63+
return fibonacci(N);
64+
}
8865

89-
}
66+
private int fibonacci(int n) {
67+
if (n <= 1) return n;
68+
return fibonacci(n - 1) + fibonacci(n - 2);
69+
}
70+
}

0 commit comments

Comments
 (0)