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