문제

데스크탑에서 멀티코어 CPU가 증가함에 따라 멀티스레딩 기술은 프로그래머에게 귀중한 자산이 될 것입니다.스레드 프로그래밍을 배우려는 프로그래머에게 좋은 리소스(책, 튜토리얼, 웹 사이트 등)를 추천해 주실 수 있나요?

도움이 되었습니까?

해결책

Herb Sutter의 "공짜 점심은 끝났다" 그리고 그의 기사 시리즈 효과적인 동시성.

다른 팁

Joseph Albahari는 여기에 C#의 스레딩에 대한 훌륭한 개요를 작성했습니다.

http://www.albahari.com/threading/

솔직히 직접 읽어본 적은 없지만 Java의 동시 프로그래밍 여러 사람에게 추천받은 책이에요.

저는 C++의 멀티스레딩과 동시성에 관해 글을 쓰고 있습니다. 내 블로그.나는 또한 C++ 동시성에 관한 책을 쓰고 있습니다. C++ 동시성 실행.

(대부분) 읽었습니다 실제 Java 동시성 Brian Goetz의 글입니다. 아주 좋습니다.

분명히 책 전체에 걸쳐 실행되는 Java 기반 주제가 있지만(스레드, 잠금 등의 Java 관련 구현 사용) 거의 모든 원칙이 다른 언어에도 적용될 수 있습니다.

작가의 홈페이지에는 다음과 같은 내용이 포함되어 있습니다. 기사 목록 그는 글을 썼는데 그 중 일부에는 스레딩 관련 내용이 포함되어 있습니다.어쩌면 거기에서 시작해서 그의 스타일이 마음에 든다면 책을 사세요.

C#(또는 일반적으로 .NET)의 동시성 프로그래밍에 대한 훌륭한 가이드와 참조를 보려면 MSDN을 추천합니다. 멀티스레드 앱에 대해 모든 개발자가 알아야 할 사항 MSDN의 Vance Morrison 기사.멀티스레드 개발에 관한 많은 모범 사례 정보와 주의 사항이 포함되어 있습니다.

동시성 기사, 블로그 및 프로젝트에 대한 링크 블로그를 다음 위치에 유지하고 있습니다.

http://concurrency.tumblr.com

저는 보통 다양한 환경(Erlang, Java, Scala, .NET, C++, Ruby, Python 등)에서 다양한 주제(스레드, 액터, 잠금, 병렬 프로그래밍)에 대한 링크를 하루에 한두 개 게시합니다.

이는 Delphi에만 해당되지만 이 개념이 다른 언어에 적용되지 않을 이유는 없습니다!

멀티스레딩 튜토리얼

http://www.cilk.com/multicore-e-book/

이것은 상황에 대한 좋은 일반적인 개요입니다. 튜토리얼과 책을 찾고 있다면 언어를 시작점으로 지정하여 일부 코드를 조작하는 것이 가장 좋습니다.

Erlang 프로그래밍 언어는 사용하기 쉬운 동시 프로그래밍 스타일을 제공합니다.실제로 Erlang을 사용하지 않을 수도 있지만 개념은 다른 언어로 이동할 수 있습니다.당신은 책을 읽고 싶을 수도 있습니다 프로그래밍 얼랭:동시 세계를 위한 소프트웨어 .

함수형 프로그래밍 팬은 새로운 것을 배울 필요가 없다고 주장합니다.순수 함수형 언어를 사용하면 컴파일러나 인터프리터가 자동으로 모든 것을 병렬화합니다.따라서 Haskell, OCaml 또는 다른 기능적 언어를 배우고 싶을 수도 있습니다.

정확히 무엇을 찾고 있는지는 모르겠지만 WindowsForms 개발을 수행하고 있다면 다음 블로그 게시물을 매 순간 읽어 볼 가치가 있습니다.WinForms UI 스레드 호출:Invoke/BeginInvoke/InvokeRequred에 대한 심층 검토

내 생각에 Boost.Threads는 특히 멀티스레드 애플리케이션 작성을 시작하려는 경우 배울 수 있는 훌륭한 C++ 동시성 라이브러리라고 생각합니다.코드는 매우 간결하고 이해하기 쉽습니다. 게다가 다음 C++ 표준에는 Boost.Threads(자습서: http://www.ddj.com/cpp/184401518)

간단한 작업의 고도로 병렬 버전을 수행하려고 하거나 실제 솔루션을 보려면 다음을 보는 것보다 더 나쁜 일을 할 수 있습니다. 와이드 파인더 프로젝트.기본적으로 로그 파일의 병렬 정규식 일치를 효율적으로 수행하는 방법에 관한 것이지만 가능한 한 적은 코드를 추가하려고 합니다.

참가자들은 다양한 언어로 솔루션을 제출했으며 실적 결과 게시됩니다.원래 프로젝트는 이제 완료되었으며 이제 와이드 파인더 2 작업을 진행 중입니다.

코딩공포 좋은 것을 가지고 있다 와이드 파인더 소개.

컴퓨터 과학과 실습 사이의 적절한 균형을 유지하면서 주제를 풍부하고 철저하게 다루려면 다음을 권장합니다. 다중 프로세서 프로그래밍의 기술.많은 예제가 객체 지향 코드에 있습니다.Java, 다른 언어가 곳곳에 흩어져 있습니다.다루는 주제에 따라 다릅니다.이 책에서 제가 정말 좋아하는 점은 동시 설계에서 일반적인 알고리즘을 구현하는 방법을 논의한다는 것입니다.물론 그 외에도 훨씬 더 많은 것들이 있습니다!

일반적인 개념과 pthread 처리에 대해서는 정말 좋아합니다. POSIX 스레드를 사용한 프로그래밍.라이브러리와 API이기 때문에 C에 있습니다.

Windows 및 C# 개발자의 경우 다음을 확인하세요. 조 더피의 블로그.Joe는 Microsoft 개발자 부서에서 병렬 라이브러리, 인프라 및 프로그래밍 모델을 담당하고 있습니다.11월에 책이 나오네요.2008년 Windows에서의 동시 프로그래밍 (아마존 링크).

또한 Godfather의 블로그도 놓치지 마세요.허브 서터의 서터스 밀.그는 Dr.에 있는 그의 모든 기사에 대한 링크를 가지고 있습니다.Dobb의 일지 등.그의 것을 클릭하세요 동시성 카테고리.

CPU 제조업체 웹사이트에는 몇 가지 흥미로운 콘텐츠가 있습니다.

http://developer.amd.com/documentation/articles/Pages/default.aspx#parallel

http://software.intel.com/en-us/multi-core

또한 Intel의 오픈소스 스레딩 라이브러리에는 다음과 같은 좋은 참고 자료가 있습니다.

http://www.threadingbuildingblocks.org/

C#으로 작업하는 경우 Gaston C가 쓴 "C# 2008 및 2005 스레드 프로그래밍"이라는 책을 참조하세요.Hillar - Packt 출판 - http://www.packtpub.com/beginners-guide-for-C-sharp-2008-and-2005-threaded-programming/book , 너를 도울 것이다.멀티코어 컴퓨터를 활용하는 재미있는 예제가 포함된 코드를 다운로드할 수 있으므로 C# 프로그래머에게 적극 권장됩니다.이 책은 연습해야 할 많은 코드가 담긴 훌륭한 가이드입니다.가장 어려운 개념을 설명하면서 이야기를 전달합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top