TEMP
Sep1_멀티스레드에서 우선순위 지정(flag 개념)
장꾸꾸
2020. 9. 1. 18:49
package main;
//우선순위 방식
public class Main {
public static void main(String[] args) {
ShareArea share = new ShareArea();
MyThread1 th1 = new MyThread1();
th1.share = share;
MyThread2 th2 = new MyThread2();
th2.share = share;
th1.start();
th2.start();
}
}
package main;
public class MyThread1 extends Thread {
ShareArea share;
@Override
public void run() {
share.num = 0;
for (int i = 0; i < 100000; i++) {
for (int j = 0; j < 10000; j++) {
if(j%2 ==0) {
share.num += 100;
}else {
share.num -= 100;
}
}
}
share.num = -1;
share.isDone=true;
}
}
package main;
public class MyThread2 extends Thread {
ShareArea share;
@Override
public void run() {
while(!share.isDone) {
System.out.println("dd")
}
System.out.println("하이 "+ share.num);
}
}
package main;
public class ShareArea {
int num;
volatile booleanisDone = false; //volatile 실제 메모리 위치로 가서 값을 체크하세용
}