thread 4

멀티쓰레드 환경에서 JNI 내의 global 변수는 조심해야...

참고 :http://javaservice.net/~java/bbs/read.cgi?m=etc&b=jdk&c=r_p&n=1162440898&p=5&s=t 기존의 C환경에서 Shared library를 작성할 때와 WAS의 Java에서 사용할 shared library를작성할 때 주의할 점은, standard-alone으로 동작하는 shared library는 단일 Thread 환경에서동작하는 것을 가정하여 global 변수를 사용하여도 된다는 것입니다. 그러나, J2EE WAS환경에서동작할 때는 multi-thread환경이기에 global 변수는 특별한 주의를 요합니다. 해당 nativemethod가 서로다른 thread에 의해 동시에 불려질 수 있기 때문입니다.

Java 2008.07.03

쓰레드 프로그래밍 초간단 예제

출처 : http://superkkt.com/53 아래는 간단한 쓰레드 예제 코드이다. 쓰레드 프로그래밍을 할때 주의할 점은 각쓰레드간의 동기화와 임계영역 설정 등이다. 그리고 쓰레드 스케쥴링도 신경을 써야 한다. 아래 코드에서 usleep 부분을 주석처리하면 스케쥴링이 안되서 제대로 작동이 안된다. 그리고 두개의 쓰레드가 연관되어서 작업을 하는 경우(아래 예제)에는 서로 신호를 주고 받아서 상대방 쓰레드의 작업 여부를 확인하는것이 좋다. 그렇지 않을 경우 한쪽 쓰레드가 너무 빨리 실행되면 원하지 않는 결과가 나타날수도 있다. 쓰레드 스케쥴링 문제에 관한 문서는 아래 주소를 참조한다. http://www.joinc.co.kr/modules.php?name=News&file=article&sid=133&m..

C C++ 2006.11.10