java 전역 변수 개념?
가루
2023.04.01
멀티 쓰레드에 대해 공부 중입니다.
일반적으로 c같은 경우 전역변수를 두어서 정보를 공유 합니다.
그런데 java에서는 이런 개념이 없으며 동일 클래스에서 여러 객체가 정보를 공유를 할 경우 static을 사용합니다.
그런데 여러 클래스가 여러 쓰레드를 발생하고 각각의 다른 클래스들의 쓰레드가 하나의 공유 자원을 공유 할려면 어떻게 해야 하죠? 예를 들어 시간을 측정 할때 global_time이라고 하면은 다른 클래스의 쓰레드들이 이 하나의 자원을 공유해서 측정을 해야 합니다. 그럼 어떻게 하나요?
제 생각은 시간 측정을 하는 클래스를 하나 두어서 global_time을 static으로 두고 get, set을 써서 읽고 써야 할 것 같은데요?
제 생각이 맞나요? 아~ 자꾸 c가 그리워져요~
-
흰꽃
넹 static 으로 하시면 됩니다.
대신에 동기화에 주의 하시면 되구요.
그리고 자바에는 전역변수 개념은 없습니다.
static 변수는 C 언어의 static 변수랑 비슷하다고 보시는것이.