Skip to content

Commit 4580fc5

Browse files
committed
update
1 parent 01d9794 commit 4580fc5

File tree

15 files changed

+60
-33
lines changed

15 files changed

+60
-33
lines changed

02nio/nio02/src/main/java/io/github/kimmking/gateway/router/HttpEndpointRouter.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,12 @@ public interface HttpEndpointRouter {
66

77
String route(List<String> endpoints);
88

9+
// Load Balance
10+
// Random
11+
// RoundRibbon
12+
// Weight
13+
// - server01,20
14+
// - server02,30
15+
// - server03,50
16+
917
}

03concurrency/0301/src/main/java/java0/conc0301/DaemonThread.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public void run() {
1717
};
1818
Thread thread = new Thread(task);
1919
thread.setName("test-thread-1");
20-
thread.setDaemon(true);
20+
thread.setDaemon(false);
2121
thread.start();
2222
}
2323

03concurrency/0301/src/main/java/java0/conc0301/Runner2.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@ public void run() {
1111
boolean result = Thread.currentThread().isInterrupted();
1212

1313
boolean result1 = Thread.interrupted(); // 重置状态
14-
14+
1515
boolean result3 = Thread.currentThread().isInterrupted();
1616

1717
System.out.println("Runner2.run result ===>" + result);
1818
System.out.println("Runner2.run result1 ===>" + result1);
1919
System.out.println("Runner2.run result3 ===>" + result3);
20+
21+
2022
}
2123
}
Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11

22
package java0.conc0301;
33

4+
import java.io.IOException;
5+
46
public class RunnerMain {
57

6-
public static void main(String[] args) {
8+
public static void main(String[] args) throws IOException {
79

810
Runner1 runner1 = new Runner1();
911
Thread thread1 = new Thread(runner1);
@@ -14,12 +16,14 @@ public static void main(String[] args) {
1416
thread1.start();
1517
thread2.start();
1618

17-
thread2.interrupt();
19+
thread2.interrupt(); // i = true
1820

1921
System.out.println(Thread.activeCount());
2022

21-
// Thread.currentThread().getThreadGroup().list();
22-
// System.out.println(Thread.currentThread().getThreadGroup().getParent().activeGroupCount());
23-
// Thread.currentThread().getThreadGroup().getParent().list();
23+
Thread.currentThread().getThreadGroup().list();
24+
System.out.println(Thread.currentThread().getThreadGroup().getParent().activeGroupCount());
25+
Thread.currentThread().getThreadGroup().getParent().list();
26+
27+
2428
}
2529
}

03concurrency/0301/src/main/java/java0/conc0301/ThreadB.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public void run() {
1515
String currentThreadName = currentThread.getName();
1616

1717
System.out.println("这是线程的名称:" + currentThreadName);
18-
System.out.println("返回当前线程" + currentThreadName + "的线程组中活动线程的数量:" + Thread.activeCount());
18+
System.out.println("返回当前线程" + currentThreadName + "的线程组中活动线程的数量:" + Thread.currentThread().getThreadGroup().activeCount());
1919
System.out.println("返回该线程" + currentThreadName + "的标识符:" + currentThread.getId());
2020
System.out.println("返回该线程" + currentThreadName + "的优先级:" + currentThread.getPriority());
2121
System.out.println("返回该线程" + currentThreadName + "的状态:" + currentThread.getState());

03concurrency/0301/src/main/java/java0/conc0301/ThreadMain.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public static void main(String[] args) {
1515
new Thread(threadB).start();
1616
System.out.println("这是主线程:");
1717

18-
ThreadC threadC = new ThreadC();
18+
ThreadC threadC = new ThreadC();
1919
FutureTask<String> futureTask = new FutureTask<>(threadC);
2020
new Thread(futureTask).start();
2121
System.out.println("这是主线程:begin!");

03concurrency/0301/src/main/java/java0/conc0301/op/Join.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public static void main(String[] args) {
99
thread1.setOo(oo);
1010
thread1.start();
1111

12-
synchronized (oo) {
12+
synchronized (thread1) {
1313
for (int i = 0; i < 100; i++) {
1414
if (i == 20) {
1515
try {
@@ -40,7 +40,7 @@ public MyThread(String name) {
4040

4141
@Override
4242
public void run() {
43-
synchronized (oo) {
43+
synchronized (this) {
4444
for (int i = 0; i < 100; i++) {
4545
System.out.println(name + i);
4646
}

03concurrency/0301/src/main/java/java0/conc0301/op/WaitAndNotify.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,17 @@ public static void main(String[] args) {
1919
e.printStackTrace();
2020
}
2121
}, "t2");
22-
Thread t3 = new Thread(() -> {
23-
try {
24-
methodClass.customer();
25-
} catch (InterruptedException e) {
26-
// TODO Auto-generated catch block
27-
e.printStackTrace();
28-
}
29-
}, "t3");
22+
// Thread t3 = new Thread(() -> {
23+
// try {
24+
// methodClass.customer();
25+
// } catch (InterruptedException e) {
26+
// // TODO Auto-generated catch block
27+
// e.printStackTrace();
28+
// }
29+
// }, "t3");
3030
t1.start();
3131
t2.start();
32-
t3.start();
32+
//t3.start();
3333

3434
}
3535
}

03concurrency/0301/src/main/java/java0/conc0301/sync/Counter.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
11
package java0.conc0301.sync;
22

33
public class Counter {
4-
private int sum = 0;
5-
public void incr() {
6-
sum++;
4+
5+
public final static int A=10;
6+
7+
public static int B=10;
8+
9+
private volatile int sum = 0;
10+
public synchronized void incr() {
11+
sum=sum+1;
712
}
813
public int getSum() {
914
return sum;
1015
}
1116

1217
public static void main(String[] args) throws InterruptedException {
13-
int loop = 10000;
18+
int loop = 100000;
1419

1520
// test single thread
1621
Counter counter = new Counter();
@@ -33,10 +38,10 @@ public static void main(String[] args) throws InterruptedException {
3338
});
3439
t1.start();
3540
t2.start();
36-
//Thread.sleep(300);
37-
while (Thread.activeCount()>2){//当前线程的线程组中的数量>2
38-
Thread.yield();
39-
}
41+
Thread.sleep(1000);
42+
// while (Thread.activeCount()>2){//当前线程的线程组中的数量>2
43+
// Thread.yield();
44+
// }
4045
System.out.println("multiple threads: " + counter2.getSum());
4146

4247

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package java0.conc0301.sync;
2+
3+
public class Cref {
4+
public static void main(String[] args) {
5+
int x = 10;
6+
int y = Counter.B;
7+
}
8+
}

0 commit comments

Comments
 (0)