Vă mulțumim pentru susținere

Care sunt câteva resurse bune pentru învățarea programării filetate?

Odată cu creșterea procesoarelor multicore de pe desktop, abilitățile de multithreading vor deveni un avantaj valoros pentru programatori. Puteți recomanda câteva resurse bune (cărți, tutoriale, site-uri web etc.) pentru un programator care încearcă să învețe despre programarea cu filet?

0
adăugat editat

15 răspunsuri

Aruncați o privire la Pranzul gratuit este peste și apoi seria lui de articole despre Concurrency Effective .

0
adăugat

Limba de programare Erlang oferă un stil ușor de utilizat de programare concurentă. Este posibil să nu utilizați Erlang, însă conceptele sunt transportabile în alte limbi. S-ar putea să doriți să citiți cartea Programarea Erlang: Software pentru o lume concurentă .

Fanii programării funcționale susțin că nu este nevoie să înveți ceva nou. Utilizați doar o limbă funcțională pură, iar compilatorul sau interpretul va paraliza automat totul. Deci, ați putea dori să învățați Haskell, OCaml sau un alt limbaj funcțional.

0
adăugat

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

Aceasta este o imagine de ansamblu generală a situației, dacă căutați tuoriale și cărți, ar fi mai bine să specificați o limbă ca punct de plecare pentru a vă putea schimba codul.

0
adăugat
0
adăugat

Joseph Albahari a scris o privire de ansamblu despre Threading în C # aici:

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

0
adăugat
Acesta este un tutorial grozav pe această temă.
adăugat autor spoulson
Acest lucru ma ajutat bine.
adăugat autor ThatBloke

Pentru un ghid excelent și referință pentru programarea concurenței în C # (sau .NET în general) aș recomanda MSDN articol de Vance Morrison pe MSDN. Acesta conține o mulțime de informații despre cele mai bune practici și avertismente cu privire la dezvoltarea multiplă

0
adăugat

Am citit (majoritatea) Java Concurrency in Practice de Brian Goetz, care este foarte bun.

Există, evident, o temă bazată pe Java care rulează prin carte (folosind implementări specifice Java ale firelor, încuietori etc.), dar aproape toate principiile pot fi aplicate și în alte limbi.

Pagina de pornire a autorului conține o listă de articole pe care a scris-o, dintre care unele includ articole legate de filetare . Poate începeți și dacă vă place stilul său, cumpărați cartea.

0
adăugat

Cred că Boost.Threads este o mare bibliotecă de concursuri C ++ care trebuie învățată, mai ales dacă doriți doar să începeți să scrieți aplicații multithreaded. Codul este foarte succint și ușor de înțeles, plus următorul standard C ++ va include probabil o bibliotecă de fișiere bazate pe Boost.Threads (tutorial: http://www.ddj.com/cpp/184401518 )

0
adăugat

Eu scriu despre multithreading și concurrency în C ++ pe blogul meu . De asemenea, scriu o carte despre concurrency în C ++: C ++ Concurrency in Action .

0
adăugat

Este specific Delphi, dar nici un motiv pentru care conceptul nu se va aplica nici unei alte limbi!

Tutorial multi thread

0
adăugat

Mă mențin un linkblog pentru articole de concurs, bloguri și proiecte la:

http://concurrency.tumblr.com

De obicei, postarea unui link sau două pe zi pe o varietate de subiecte (fire, actori, blocare, programare paralelă) într-o varietate de medii (Erlang, Java, Scala, .NET, C ++, Ruby, Python etc.).

0
adăugat

I don't know what exactly you are looking for, but if you are doing WindowsForms development the following blog post is worth every minute reading: WinForms UI Thread Invokes: An In-Depth Review of Invoke/BeginInvoke/InvokeRequred

0
adăugat

Dacă doriți să faceți o versiune extrem de paralelă a unei sarcini simple sau să vedeți soluții reale, puteți face mai rău decât să vă uitați la proiectul larg . Practic, este vorba despre cum să faceți paralel regex de potrivire a fișierelor jurnal în mod eficient, dar încercarea de a adăuga cât mai puțin cod posibil.

Participanții au prezentat soluții în multe limbi diferite, iar rezultate de performanță sunt postate. Proiectul inițial sa terminat și acum există un localizator 2 , care lucrează.

CodingHorror has a good introduction to wide finder.

0
adăugat

Pentru un tratament bogat și temeinic al subiectului, cu un bun echilibru între știința calculatoarelor și practica, vă recomandăm Arta de programare multiprocesor . O mulțime de exemple sunt în cod orientat pe obiecte, adică Java, cu alte limbi împrăștiate pe tot parcursul. Depinde doar de subiectul acoperit. Ceea ce îmi place cu adevărat în legătură cu această carte este că discută despre modul în care ar trebui implementate algoritmi obișnuiți într-un design concurent. Desigur, sunt atât de multe altele!

Pentru conceptele generale și pentru tratamentul problemelor, îmi place foarte mult Programare cu fire POSIX . Fiind biblioteca și API care este, este în C.

Pentru dezvoltatorii Windows și C #, consultați blogul lui Joe Duffy . Joe lucrează la bibliotecile paralele, la infrastructură și la modelele de programare din divizia Microsoft Developer. El are o carte care vine în noiembrie 2008 intitulată Programare simultană pe Windows (< un link href = "http://rads.stackoverflow.com/amzn/click/032143482X" rel = "nofollow noreferrer"> Amazon ).

De asemenea, nu pierdeți blogul lui Godfather: Sutter's Mill . Are legături cu toate articolele din Jurnalul Dr. Dobb și multe altele. Dați clic pe categoria de concurs .

0
adăugat

Site-urile producătorilor de procesoare au un conținut interesant:

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

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

De asemenea, biblioteca de filetare openSource a Intel are câteva referințe bune:

http://www.threadingbuildingblocks.org/

0
adăugat