본문 바로가기
[책 정리] 16. 커리어우먼에서 친구로, 때로는 연인으로 - 시간의 발견 - 우리가 늘 시간이 부족하고 정신없다고 느끼는 이유도 쉴 새 없이 바뀌는 모드 때문이다. 모드 전환을 잘 하는 것이 중요하다. 모드 전환은 바뀐 상황에 적응하는 시간을 줄여주고, 하나의 역할에 깊이 집중할 수 있게 도와준다. - 모드가 바뀌었음을 인식하자. - 현재의 모드에 집중하자 현재의 모드를 언제든 깨고 들어오는 것이 바로 휴대폰이다. 또 자기 전에 누워서 휴대폰을 보는 것도 큰 문제이다. 한 뇌과학 연구에 따르면, 어떤 일을 침대에서 반복적으로 할 경우 우리의 뇌는 누웠을 때 그 일을 하도록 학습된다. - 다음 모드를 준비하자 다음 모드가 다가오기 전에 10분이라도 마음의 준비를 하는 것이 모드 전환의 속도를 높여준다. - 퇴근 모드만이라도 분명하게 하자. 끝!! 2020. 12. 8.
[Java Concurrency] 단일 연산 변수와 넌블로킹 동기화 [Java Concurrency] 단일 연산 변수와 넌블로킹 동기화 - 병렬 알고리즘과 관련한 최근의 연구 결과를 보면 대부분이 넌블로킹 알고리즘, 즉 여러 스레드가 동작하는 환경에서 데이터의 안정성을 보장하는 방법으로 락을 사용하는 대신 저수준의 하드웨어에서 제공하는 비교 후 교환(compare-and-swap) 등의 명령을 사용하는 알고리즘을 다루고 있다. - 넌블로킹 알고리즘은 운영체제나 JVM 에서 프로세스나 스레드를 스케줄링 하거나 가비지 컬렉션 작업, 그리고 락이나 기타 병렬 자료 구조를 구현하는 부분에서 굉장히 많이 사용하고 있다. - 넌블로킹 알고리즘은 락을 기반으로 하는 방법보다 설계와 구현 모두 훨씬 복잡하며, 대신 확장성과 활동성을 엄청나게 높여준다. - 넌블로킹 알고리즘은 훨씬 세밀.. 2017. 5. 9.
[Java Concurrency] 성능, 확장성 #1 [Java Concurrency] 성능, 확장성 - 스레드를 사용하는 가장 큰 목적은 바로 성능을 높이고자 하는 것이다. 스레드를 사용하면 시스템의 자원을 훨씬 효율적으로 활용할 수 있고, 앱으로 하여금 시스템이 갖고 있는 능력을 최대한 사용하게 할 수 있다. 그와 동시에 기존 작업이 실행되고 있는 동안 새로 등록된 작업을 즉시 실행할 수 있는 준비를 갖추고 있기 때문에 앱의 응답 속도를 향상시킬 수 있다. - 성능을 높이는 방법은 대부분 앱의 내부 구조를 복잡하게 만들어야 하는 경우가 많고, 따라서 안전성과 활동성에 문제가 생길 가능성도 적지 않다. 최악의 경우에는 성능을 높이기 위해 적용한 프로그래밍 기법 때문에 프로그램의 다른 부분에서 역효과를 가져오거나 성능상에 문제를 일으킬 수도 있다. - 성능.. 2017. 5. 3.
반응형