• 이런 결과가 나와서 멀티 쓰레드의 문제가 있다.(Thread1과 Thread2가 동시에 일할 경우)
해결책 : 하나의 쓰레드가 작업이 끝나기 전에는 다른쓰레드가 작업할 수
없게 한다. (두 쓰레드가 번갈아 가면서 일을 처리한다.)
* 멀티쓰레드 상황에서의 데이터 동기화(synchronized) : 하나의 데이터를 한 쓰레드가 접근하면
다른 쓰레드가 그 데이터에 접근 할 수 없게 하는 것
- Local 변수 - Data 동기화 문제 신경쓸 필요 없음(X)
- Instance 변수 - Data 동기화 문제 생김 (O)
- static 변수 - Data 동기화 문제 생김 (O) - 멀티쓰레드상황에서 문제가 생길 수 있는 static변수는 해결 방법이 없기 때문에 만들면 안된다.(멀티쓰레드 상황에서는 쓰지 않는 것이 좋다.)
* 데이터 동기화 예제
'프로그래밍 > JSP Programming' 카테고리의 다른 글
2012-4-26 session 관리 (0) | 2012.04.26 |
---|---|
2012-4-26 동기화블럭 실행 예제 (0) | 2012.04.26 |
2012-4-26 Process와 Thread단위 프로그램 띄우기 (정의) (0) | 2012.04.26 |
회원목록을 클릭했을 때 모든 조회목록 출력하기 (request scope의 requestDispatch 사용하기)[실습] (0) | 2012.04.26 |
2012-4-25 과제2 (0) | 2012.04.25 |