Watki odczytujace dane po zmianach

0

Siema,

napisalem taki kawalek kodu:

import java.util.LinkedList;
import java.util.Queue;

public class ThreadClass extends Thread {

    public ThreadClass() {
        queue.add("item1");
        queue.add("item2");
        queue.add("item3");
        queue.add("item4");
        queue.add("item5");

        }

    private void deleteQueue() {
        if(!queue.isEmpty()) {
            queue.remove();
        }
    }

    public void run() {
        while(true) {
            deleteQueue();
            System.out.println(queue + " " + getName());

            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    Queue<String> queue = new LinkedList<String>();

    public static void main(String[] args) throws Exception {
        ThreadClass m = new ThreadClass();
        Thread t = new ThreadClass();
        t.start();
        Thread t1 = new ThreadClass();
        t1.start();
    }
} 

i chcialbym, zeby pierwszy watek wyrzucal z kolejki pierwszy element, kolejny pierwszy z tych ktory pozostal itd.

Chodzi mi o cos takiego

[item2, item3, item4, item5] Thread-1
[item3, item4, item5] Thread-2
[item4, item5] Thread-2
[item5] Thread-1
[] Thread-2

Jak to zrobic? Bo aktualnie to kazdy z watkow ma jakby swoja kolejke i z niej wyrzuca.

Pozdrawiam i licze na wasza pomoc.

0

czyli chcesz mieć jedną wspólną kolejkę... więc zrób ją statycznie i nie zapomnij o synchronizacji

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