Cześć :)
Chcę napisać przetwarzanie obrazów wielowątkowo. Nie ma to być nic wygórowanego. Ot tak, żeby się czegoś nauczyć. Otóż mam listę z obiektami typu ImageBuffered. Teraz planuję, żeby obiekt wątku brał sobie referencję do obrazu ( sam wyciąga z listy i usuwa obiekt) i wykonywał na nim operacje ( metoda run() ). Załóżmy, że te pliki są gdzieś w folderze. Czy muszę jakoś synchronizować zapis do pliku? Może jest takie zagrożenie, że jeden i ten sam wątek zacznął pisać po tym samym miejscu.
Jak teraz zoorganizować żeby działało współbieżnie? Myślałem nad takim czymś:
Dopóki lista nie będzie pusta,
- bierz nowy wątek z CachedPool.
- odpal go
Tak to sobie wymyśliłem, proszę o poprawienie/wyprowadzenie z błędu. Ogólne uwagi/zagrożenia również mile widziane! :)
W szczególności, jeżeli będzie miliard obrazów to powstanie miliard wątków. Nie mam doświadczenia, więc nie wiem czy to normalna praktyka.
Czy to będzie działać współbieżnie? Czy takie współbieżne działanie będę mógł obserwować w postaci krótszego czasu pracy programu w stosunku do programu jednowątkowego.