Jak w tych ebanych wątkach zrobić tak żeby rozwiązać problem konsumenta producenta (z rozmiarem 1) za pomocą BlockingQueue. Chodzi o taki wynik:

Produce 1
Consume 1
Produce 2
Consume 2
Produce 3
Consume 3

No i daje sobie np. SynchronizedQueue ale wtedy produkowane i pobierane są 2 naraz:

Produce 1
Produce 2
Consume 1
Consume 2
Produce 3
Produce 4
Consume 3
Consume 4

Jak to ograniczyć do 1 naraz? Jak daje
@MrFisherman: wszystko jest dobrze. Consumer bierze zawartość z kolejki, więc jest tam pusto. Producer odrazu się budzi i wkłada nowy element jeszcze za nim Consumer wypisał wyciągniętą zawartość. Jak nie chcesz takiego zachowania to potrzebujesz dodatkowej synchronizacji albo czegoś innego niż BlockingQueue. Albo tak jak wyzej: dodaj sleepy
  • Odpowiedz
siema mirki ,sprawa tego typu bo chcialem odblokowac watki procesora w ryzenie 5 2600 zmienilem z 1 na 2 i zaznaczylem opcje maximum memory 8gb ogolnie mam 8 gb ale po restarcie kompa fps mi spadly a w pamieci pisze 0 da sie to przywrocic do domyslnych ustawien ? cos chyba jest nie tak

#komputer #watki #procesor #msconfig
  • Odpowiedz
#java #spring #watki

Mirki, czy tworzac klase DTO w springu - powinienem sie martwic wielowatkowoscia? Przegladajac przyklady - czasami widze, ze ludzie uzywaja pol finalnych - bez setterow, wszystko w 100% thread safe. Czasami sa to klasy ze zwyklymi polami, getterami/setterami... Nie znalazlem zadnej argumentacji popierajacej uzywanie ktoregos ze sposobow. Jak to powinno wygladac?
czyli możesz to wykonać przed

lub w trakcie wywołania konstruktora


@Waffenek: A jak mam 10 pól do ustawienia? Z tego 5 opcjonalnych?

Ja po prostu wytknąłem, że mówienie, że 'settery są niepotrzebne', jest sporym nadużyciem bez kompletnej wiedzy na temat architektury.
  • Odpowiedz
@fegwegw: No to ładnie by tam pasował builder. Nawet niech będzie taki najprostszy mutowalny z Lomboka. Robisz build i dalej masz już gwarancje że ty sam ani nikt inny nie zamiesza nic w stanie obiektu.
  • Odpowiedz
#pytanie #programowanie #csharp #watki

Mam taką funkcje:

protected void threadManage(Function function)

{

if (oThread != null && oThread.IsAlive)

oThread.Join();

oThread = new Thread(new ThreadStart(function));

try

{

oThread.Start();

}

catch(Exception ex)

{

MessageBox.Show(ex.Message);

throw ex;

}

}

jak wywołam dwa razy tą funkcję tak że pierwszy raz nie zdążył się wykonać to program całkowicie zawisa. Nie wywala błędu czy coś tylko zawisa na amen. Chciałbym żeby po prostu wątek poczekał i wywołał nową
@asdasty: powiem jeszcze tylko ze takich wątków oThread mam wiele. Wiec wątki są mi potrzebne i jeśli chodzi o działania to każdy wątek robi jakieś swoje funkcje i jest wszsytko git. Tylko jak w jednym wątku dwa razy wywołam i nie zdąży się zrobić to wtedy sie wiesza
  • Odpowiedz
@wykop

Dlaczego nie można zwijać komentarzy grupami jak na reddit?

Czasem nie mam ochoty czytać długiego na 20-30 komentarzy wątku, gdzie ktoś się kłóci. Przewijać też ciężko, bo wątki nie odznaczają się dostatecznie dobrze.

#watki #gui #wykop
  • Odpowiedz