우리가 흔히 Daemon 이라 하면 Background 에서 도는 프로세스를 생각할 것이다. 그러나 Java에서는 조심해야 한다.


Java 에도 Daemon Thread라는 것이 있다.

(Java에서 Thread를 처음 만들면 User thread 이고, 이것을 setDaemon(true)를 하면 Daemon Thread로 바뀐다.)


그런데 이 Daemon Thread는 Background에서 돌아가는 (Parent JVM이 종료되어도 돌아가는) Thread로 생각하면 안된다. 오히려 정 반대이다.


Daemon은 뒤에서 숨어서 조력한다는 의미로 Daemon인 것이고, 이 Daemon Thread가 조력하는 대상은 Parent JVM이다. 따라서 Parent JVM이 종료되면 Daemon Thread도 같이 종료된다. 이 때, finally 등의 구문이 실행되지 않으니 주의가 필요하다.


Daemon Thread가 아닌 User Thread의 경우, Parent JVM이 종료되어도 자신은 종료되지 않고 작업을 계속 한다.


예) Tomcat 에서 생성한 Thread가 Tomcat 종료시에 같이 종료되게 하려면 Daemon Thread로 만들어야 한다.



Posted by 임장관입니다


(매버릭스 기준입니다)

2010 맥북에어에서는 매버릭스의 부트캠프로는 USB 설치가 지원되지 않습니다.

지원되지 않는다기 보다는 애플에서 일부러 막아놓았다고 보는 것이 맞습니다.

이를 뚫기 위해서는 Boot Camp Assistants 의 패키지를 열어서 Info.plist 를 수정해야 합니다.


<key>PreUSBBootSupportedModels</key>         // 여기서 Pre를 지웁니다

<array>

...

<string>MacBookAir3,2</string>                  // 여기서 MacBookAir3,1로 바꿔줍니다.

...

</array>


저장하고 나옵니다. 수정할때 관리자 권한이 필요합니다. 터미널 열어서 sudo vi 등을 써서 하시면 됩니다.


그리고 Boot Camp Assistants 패키지의 서명을 수정해야 합니다. 터미널에서 

codesign -fs - /Applications/Utilities/Boot\ Camp\ Assistant.app

을 입력합니다. (패키지의 서명을 수정하지 않으면 Boot Camp 실행시 crash 납니다)


이제 부트캠프를 실행하면 됩니다. !!



Posted by 임장관입니다

SSD에 윈도우7을 깔아서 사용 중에


인터넷 익스플로러 그림이 잘 안나오는 경우가 있다.


원인은 잘 모르겠지만, 내 경우에


IE 인터넷 옵션에서 임시 파일 폴더를 하드디스크인 D드라이브의 폴더를 지정했더니


문제가 사라졌다. -_-;;


?

Posted by 임장관입니다


티스토리 툴바