프로그램 로직에 대해서 질문 드립니다.
갅지돋는슬아
제가 어떤 프로그램을 짜고 있습니다.
그 프로그램은 A, B, C라는 버튼을 가지고 있습니다.
A버튼을 누르면 어떤 작업을 계속 수행합니다.(무한루프, 계속 수행이 되어야 하므로 break 조건이 없음 ;;)
B버튼을 누르면 그 작업을 중지합니다.
C버튼을 누르면 작업을 중지하고 프로그램을 종료합니다.
그런데 문제는 A작업은 무한루프를 돌면서 특정시간이 되면 작업을 수행합니다.
그래서 A버튼을 누르고 나면 다른 버튼은 눌려지지 않습니다.
A버튼은 상태를 true, B버튼은 false로 처리를 해서 그 상태에 따라 A작업을 수행, 중지 하려고 하는데 무한루프를 벗어나지 못하니까 작업을 할 수가 없네요 ;;
그래서 쓰레드를 만들어서 공유변수를 바꿔주면 될까 하고 생각해보았습니다.
A버튼을 누르면 쓰레드1을 만들어서 작업을 수행하고
B버튼을 누르면 쓰레드2를 만들어서 공유변수 값을 바꿔서 작업을 중지상태로 만든다...
혹시 이런 방법이 적합한 방법인지 알고 싶습니다.
아니면 다른 방법이 있다면 조언좀 해주세요 ^^
-
거늘
에구... 쓰레드 방법으로 해결은 했네요..
-
지음
적합하리라 생각되며 단, 여러 쓰레드에서 사용하는 공유 변수는 반드시 synchronized block을 사용해야 할 것 같습니다.
-
LO
제가 보기에는 좋은방법 같네요^^; 아직 저도 배우는 입장이라 잘은 모르지만...
제 기억에는 싱글턴 이라고 해서 비슷한 경우 컴퓨터자원을 효과적으로 사용하면서
이런 상황을 쉽게 해결하는 방법이 있었습니다^^; 한번 지식인의 힘을 빌어보심이;