|
쓰레드 동기화는 하셨나요??
싱글 프로세서에서는 쓰레드를 100개건 1000개건 돌려도 순차적으로 실행되는걸로 아는데요...
듀얼 프로세서에서 특정 메모리 영역을 모든 쓰레드가 사용하는 경우라면 쓰레드들이 메모리영역을 동시에 사용하는 경우가 생기기 때문에 안됩니다.. 메모리 영역에 값을 동시에 쓰다가 문제가 발생하는거죠..
해결책은 크리티컬 섹션같은걸 써서 순차적으로 실행시켜야 합니다..
Hyoun 님이 쓰신 글 :
: 제가 Builder 4.0에서 쓰레드 객체를 이용하여 쓰레드64개가 동시에 돌아가는 프로그램을 만들었습니다.
: 근데 이 프로그램이 일반PC에서는 잘 돌아가는데 듀얼 프로세서를 사용하는 PC에서는
: 프로그램이 Exception에러를 범하거나 아예 흔적도 없이 죽어 버리는 일이 발생하였습니다.
: 자료를 찾아 보니 이런 경험을 하신 분이 더러 있긴 한것 같습니다만 딱히 방법을 찾을 수는 없어서
: 이렇게 글을 올립니다.
:
: 좋은 방법이나 이런 유사한 경험을 하신분의 내용을 공유하고 싶습니다.
:
:
: 더블어 Builder의 최신버젼을 알고 계신분은 답변 부탁 드립니다.
: 제가 6.0이 있는데 이 버젼은 혹시 듀얼에 대해 보안이 되었을까 해서요..
|