본문 바로가기
[Java Concurrency] 구성 단위 #2 [Java Concurrency] 구성 단위 #2 5.4. 블로킹 메소드, 인터럽터블 메소드 - 스레드는 여러 가지 원인에 의해 블록 당하거나, 멈춰질 수 있다. 스레드가 블록되면 동작이 멈춰진 다음 블록된 상태(BLOCKED, WAITING, TIMED_WAITING) 가운데 하나를 갖게 된다. 블로킹 연산은 단순히 실행 시간이 오래 걸리는 일반 연산과는 달리 멈춘 상태에서 특정한 신호를 받아야 계속해서 실행할 수 있는 연산을 말한다. ( I/O 작업 끝나기를 기다리거나, 기다리던 락을 확보하거나, 다른 스레드의 작업 결과를 받아오는 등의 신호 ) - Thread 클래스는 해당 스레드를 중단시킬 수 있도록 interrupt 메소드를 제공하며, 해당 스레드에 인터럽트가 걸려 중단된 상태인지를 확인할 수 .. 2017. 4. 21.
[Effective Java] 공유하는 가변 데이터에 접근 시 동기화하자. [Effective Java] 공유하는 가변 데이터에 접근 시 동기화하자. - 동기화를 하지 않으면, 하나의 스레드에서 변경한 내용을 다른 스레드에서 못 볼 수 있다. 동기화는 불안정 상태의 객체를 스레드가 볼 수 없도록 하는 것은 물론, 동기화된 메소드나 블록에 진입하는 각 스레드가 앞에서의 모든 변경(같은 락으로 보호되었던)이 반영된 결과를 볼 수 있게 해준다. - 자바 언어 명세에서는 long 이나 double 타입이 아닌 변수의 값을 읽거나 쓸 때는 원자성을 보장한다. long 이나 double 타입이 아닌 변수의 값을 읽으면 어떤 스레드가 그 변수에 저장했던 값을 반환 받을 수 있다는 것. 실제로 동기화하지 않고 여러 스레드가 그 변수를 동시에 수정해도 그때그때 수정된 값이 반영된다. 스레드가 .. 2017. 3. 7.
php 를 쓰지 말자?! php 를 쓰지 말자?! 출처 : http://ko.blog.influx.kr/2012/04/php.html 한마디로.. PHP 는 문제점 투성이, 세상에는 PHP 보다 훨씬 좋은 언어가 많다.PHP를 쓸 수 밖에 없거나 유지보수가 필요 없는 작은 규모의 프로젝트가 아니라면 PHP 를 쓰지 말자. 서문. PHP 는 언어, 프레임워크, 생태계 모두 개판. 입장 언어는 예측 가능해야 한다.언어는 일관성이 있어야 한다.언어는 간결해야 한다.언어는 신뢰성이 있어야 한다.언어는 디버깅 가능해야 한다. PHP 는 놀라움으로 가득하다. : mysql_real_escape_string, E_ACTUALLY_ALLPHP 는 일관적이지 못하다. : strpos, str_rot13PHP는 보일러플레이트가 필요하다. : C .. 2013. 12. 4.
카카오톡(카톡) PC 버전 나와서 사용해봤다. 카카오톡(카톡) PC버전 나와서 사용해봤다. 카카오톡(카톡) PC 버전 나와서 사용해봤다. 카톡 PC 버전이 나왔다는 이야기를 듣고 사용해봤다. 카톡 PC 버전은 지난번에 이미 테스터들을 통해서 공개된 바가 있는데, 이번에 대대적으로 훨씬 많은 인원에게 PC 버전을 사용할 기회를 준다고 한다. 자, 그럼 PC 버전을 어떻게 사용하는가? 1. 카카오톡 앱 접속 -> 더보기 -> 설정 -> PC 버전. 요기서 PC 버전을 사용한다고 하고, 카카오 계정으로 로그인 하면 조금 있으면 어디에서 다운받아서 사용할 수 있는지 "카카오톡" 으로부터 카톡이 온다. 바로 카톡이 오는 것이 아닌 것을 보아 일종의 내부 심의? 같은 것이 있는 모양이다. 필자는 5분 안에 카톡을 받았다. 2. 받은 주소( events.kaka.. 2013. 6. 21.
반응형