-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJavaThread4.java
More file actions
38 lines (34 loc) · 1.08 KB
/
JavaThread4.java
File metadata and controls
38 lines (34 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package oops2;
/**
*
* @author Sunil Shetty
*/
/*
To avoid concurrency problems, it is best to share as few attributes between threads
as possible. If attributes need to be shared, one possible solution is to use the isAlive() method
of the thread to check whether the thread has finished running before using any attributes that the thread can change.
*/
//Use isAlive() to prevent concurrency problems:
public class JavaThread4 extends Thread {
public static int amount = 0;
public static void main(String[] args) {
JavaThread4 thread = new JavaThread4();
thread.start();
// Wait for the thread to finish
while(thread.isAlive()) {
System.out.println("Waiting...");
}
// Update amount and print its value
System.out.println("Main: " + amount);
amount++;
System.out.println("Main: " + amount);
}
public void run() {
amount++;
}
}