여러 사람이 동시에 사용할려고 하는 공유 라이브러리를 만들려고 하고 있습니다. 라이브러리 내의 함수를 thread 에서는 사용되지 않을 거구요.
그래도 여러 사람이 동시에 사용할 수 있기 때문에 reentrant 하게 만들 필요가 있을까요?
인터넷을 돌아다닌 결과, shared library는 라이브러리의 코드 영역은 다중의 프로세스가 공유하지만, 라이브러리의 데이터 영역은 각 프로세스 마다 별도로 영역이 잡히기 때문에 reentrant 하게 할 필요가 없다는 것이더군요.
때문에 multi-thread 에서 돌아갈 경우에만 reentrant 하면 되는 것으로 생각이 드네요.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
아무래도
인터넷을 돌아다닌 결과, shared library는 라이브러리의 코드 영역은 다중의 프로세스가 공유하지만, 라이브러리의 데이터 영역은 각 프로세스 마다 별도로 영역이 잡히기 때문에 reentrant 하게 할 필요가 없다는 것이더군요.
때문에 multi-thread 에서 돌아갈 경우에만 reentrant 하면 되는 것으로 생각이 드네요.
댓글 달기