Witam. Sa to moje poczatki w Javie wiec prosze o wyrozumiałosc(program jest w wersji roboczej) .
Pisze takie "cudo" które ma miec 2 watki w jednym czytac plik (w pliku jest kilkadziesiat tysiecy wpisów typu id_produktu waga)
id nas nie interesuje ma sumowac wage. W pierwszym watku (ten mam zrobiony i działa)ma tworzyc obiekty klasy "Towar" i wyswietlac informacje o tym co 200 obiektów. Drugi watek ma sumowac obiekty stworzone przez pierwszy watek i podawac informacje o tym co 100 z sumowanych obiektów a na koncu ma podac laczna sume.
No i to jest wlasnie moj problem jak stworzyc ten drugi watek wydaje mi sie ze sie nie obedzie bez przerobki pierwszego watku aby
obiekty pakowac w jakas tablice badz kolekcje.
No i na koncu mam zrobic synchronizacje i koordynacje pracy obu watkow.

z gory dzieki za wszystkie podpowiedzi i jeszcze raz prosze o wyrozumiałosc

package czytanieW;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.util.StringTokenizer;

class Towar {

	private static int ObjNumber = 0;
	static int wagaT;
	static String id;

	public Towar(String id, int waga) {
		ObjNumber++;
		this.id = id;
		this.wagaT = waga;
	}

	public static int getObjNumber() {
		return ObjNumber;
	}

	public static String getid() {
		return id;
	}

	public static int getwagaT() {
		return wagaT;
	}
}

class Suma implements Runnable {

	public void run() {
		int suma1 = 0;
		suma1 = suma1 + Towar.getwagaT();
		if ((Towar.getObjNumber()) % 100 == 0)
			System.out.println("Policzono wage " + suma1);// Towar.getObjNumber()+" obiektów");
		System.out.println("XXX" + Towar.getwagaT());

	}
}

class CzytanieW implements Runnable {

	public void run() {
		FileInputStream in = null;
		String waga = null;
		String indeks = null;
		String linia = null;
		try {
			FileReader fr = new FileReader("c:\\Temp\\Towary.txt");
			BufferedReader br = new BufferedReader(fr);

			while ((linia = br.readLine()) != null) {
				StringTokenizer st = new StringTokenizer(linia, " ");
				while (st.hasMoreTokens()) {
					indeks = st.nextToken();
					waga = st.nextToken();
				}

				Towar tow = new Towar(indeks, Integer.valueOf(waga));

				if ((Towar.getObjNumber()) % 200 == 0)
					System.out.println("Utworzono: " + Towar.getObjNumber()
							+ " obiektów");
			}

		} catch (Exception ex) {
		}
	}

	public static void main(String[] args) {
		new Thread(new CzytanieW()).start();
		new Thread(new Suma()).start();

	}
}