Java wątki

0

Czy istnieje jakiś mechanizm w Javie, taki który powoduje że każda metoda z danej klasy jest wywoływana w odrębnym wątku? Fajnie by bylo jeszcze gdyby w J2ME takie cos bylo. Chyba ze macie jakis pomysl jak zrealizowac 10 roznych funkcji z rozna iloscia argumentow, tak by kazda byla wywoływana w wątku.?

0

chcesz tworzyć 10 wątków na procesorze komórki? Przełączanie między tymi wątkami pewnie zajmie więcej czasu niż same funkcje. 10 wątków to dużo. Dwa-trzy to chyba już dużo.

0

One nie będą działały jednocześnie. Chce by każda metoda wykonywała się nie w wątku głownym tylko innym, ponieważ mam komunikacje z serwerem zrobioną.

0

Myśl w kategorii zadań, nie wątków.

Niech każde wywołanie funkcji tworzy zadanie i umieszcza je w kolejce.
Niech będzie jeden (ew. dwa, trzy) wątek, który pobiera w pętli zadania z tej kolejki i je realizuje.

Javie SE najłatwiej zrealizować to za pomocą klasy ArrayBlockingQueue. Nie wiem, czy jest w ME.
http://java.sun.com/javase/6/docs/api/java/util/concurrent/ArrayBlockingQueue.html

0

ArrayBlockingQueue nie ma w ME :| No i nie ma tez Callable. Wiec nie bede mogl zwrocic wartosci z zadania :(

0

Witam.

W J2ME powinny być klasy semaforów.
Jesli musisz już robić kolejkowanie wątków, to zrób to na podobnej zasadzie jak problem producentów/konsumentów - czyli własną kolejkę na tablicy boooleanów.
Mam taki kod w domu, ale teraz jestem w pracy więc nie mogę ci powiedzieć dokładnie co i jak ale poszukaj na sieci, pewnie będzie w cholerę tego. Ja do komunikacji z serwerem przez gprs używam jednej metody, która uruchamia wątek, ale poza tym wątkiem nic nie robi (program nie pozwala na żadne akcje do czasu zakończenia synchronizacji danych). Jest to zresztą zalecane (jak zrobiłem to w tym samym wątku, co midlet, to eclipse się pluł o to.)

Tak więc: poszukaj na sieci problemu głodnych filozofów i problemu producentów/konsumentów - takie typowe zadania z programowania równoległego.
Myślę, ze w twoim wypadku byłby bardzo pomocny program rozwiązujący problem konsument/producent, gdyż jest tam tablica, która robi z bufor - u Ciebie mogłaby to być tablica booli, od których zależałoby, ktory wątek może być wykonywany aktualnie

Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1