ืฆืืจืืื ืืืืื ืืฉื ื ืืืื! ืขืืืจ ืื ืืืืื ืงืฆืช ืืืชืจ ืขื ืจืืืื ืฉืจืฉืืจืื, ืืืืืจ ThreadGroup. ืืืคืฉืชื ืืืืื, ืงืจืืชื ืืืื ืชื ืืช ืืืืืช ืืขืืงืจืืช: ืืืืจื ืืื ืืืืื, ื ืืืื ืืฉืืื ืืืืฆืขืืช ืืจืืื ืฉื ืงืืืฆื.
ืืฉืจืฉืืจืื ืืงืืืฆืื ืืงืืืฆืืช ืฉืจืฉืืจืื ืืืขืื ื ืืืื ืืืืืื. ืงืืืฆืช ืืืืื ืืืช ืืืืื ืืืฉืชืืื ืืงืืืฆื ืืืจืช, ืืืืฆืจืืช ืืืจืจืืื ืขื ืืงืืืฆื ืืจืืฉืืช (ืืขืจืืช) ืืจืื ืืขืืืื ื. ื ืืชื ืืฉืืื ืืฉืจืฉืืจืื ืืฉืืืืื ืืงืืืฆื ืื-ืืื ืืช - ืืฉ ืื ืืช ืืืืืช ืืืคืกืืง ืืช ืืขืืืื ืฉื ืื ืืฉืจืฉืืจืื ืืงืืืฆื ืืืช ืืืช ืื ืืืืืืจ ืขืืืจื ืขืจื ืขืืืคืืช ืืืฆืืข ืืงืกืืืื ืืืื. ื ืืชื ืืืฉืชืืฉ ืืงืืืฆืืช ืฉืจืฉืืจืื ืื ืืืืืจืช ืชืืืื ืืืืื. ืฉืจืฉืืจืื ืืชืื ืงืืืฆื ื ืืื ืื ืืืจื ืืื ืืืคืฉืจืืช ืฉื ืืฉืคืขื ืืืืืช, ืฉืืชืคืจืฉืช ืื ืขื ืืืืื ืฉื ืงืืืฆืืช ืืงืื ื ืืช. ืืฉืื ื ืืืืจืื "ืืฉืคืขื", ืื ื ืืชืืืื ืื ืฉืื ืงืจืืืช ืฉืืื ืืืืื ืืืฉืคืืข ืขื ืืชื ืืืืช ืืฉืจืฉืืจ, ืืืฉื, ืืฉื ืืช ืืช ืืขืืืคืืช ืฉืื, ืื ืืืจืื ืืืคืจืขื.(ืืงืืจ: Tyts )
ืืื ืืื ืืข ืืฉืจืฉืืจ ืืืื ืืืชืืื ืืขืฆืืจ ืืืงืืืข ืืช ืื ืืฉืจืฉืืจืื ืืจืฆืฃ, ืืืฆื ืืืืฉื ืฉื ืงืืืฆื. ืฉืจืฉืืจ ืืืื ืืืฉืคืืข ืจืง ืขื ืฉืจืฉืืจืื ืฉื ืืฆืืื ืืืืชื ืงืืืฆื ืฉืื. ืงืืืฆืช ืฉืจืฉืืจ ืืืืฆืืช ืขื ืืื ืืืืืงื ThreadGroup. ืืจืืื ืื ืืืคืฉืจ ืื ืืืื ืขื ืืจืืื ืืคื ื ืืฉืคืขืืช ืืืฆืื ืืืช ืื ืจืฆืืืืช. ืงืืืฆืช ืฉืจืฉืืจืื ืืืืื ืืืืื ืงืืืฆืืช ืืืจืืช, ืื ืฉืืืคืฉืจ ืืืจืื ืืช ืื ืืฉืจืฉืืจืื ืืืงืืืฆืืช ืืขืฅ ืืืจืจืื ืฉืื ืืื ืืืืืืงื ThreadGroup, ืืืื ืืฉืืจืฉ, ืืฉ ืื.(ืืงืืจ: Tyts ) ืืืืจ ืงืจืืืช ืืืืจืื ืฉืื ืื, ืืืืืชื ืืืชืื ืงืื ืงืื ืฉืื ืื ืืืื ืืืคืจืืข ืืืจืืืืช ืฉื ืงืืืฆื ืืืจืช ืืฉืจืฉืืจ ืืื ืฉื ืงืืืฆื ืืืช. ืืืฉืื ืื ืืกืชืืจ: ืื ืืืคืฉืจ ืื ืืืคืจืืข ((( ืืงืื ืฉืื: ืืื ืืคืฉืจ ืืืคืจืืข? ืื ื ืืคืื:
public class Test { public static ArrayList
threads = new ArrayList
(); public static ArrayList
groups = new ArrayList
(); public static void main(String[] args) throws InterruptedException { final ThreadGroup group1 = new ThreadGroup("GROUP 1"); final ThreadGroup group2 = new ThreadGroup("GROUP 2"); final ThreadGroup group3 = new ThreadGroup("GROUP 3"); groups.add(group1); groups.add(group2); groups.add(group3); for (int i = 0; i < groups.size(); i++) { for (int j = 1; j < 5; j++) { Thread thread = new Thread(groups.get(i), "THREAD โ" + j) { @Override public void run() { while (!isInterrupted()) { try { Thread.sleep(500); } catch (InterruptedException e) { System.out.println(getName() + " : " + getThreadGroup().getName() + " ะฟัะตัะฒะฐะฝะฐ"); } } } }; threads.add(thread); thread.start(); } } Thread thread = new Thread(group1, "THREAD โ5") { @Override public void run() { group2.interrupt(); while (true); } }; thread.start(); threads.add(thread); for (Thread t : threads) System.out.println(t); } }
Thread[THREAD โ1,5,GROUP 1] Thread[THREAD โ2,5,GROUP 1] Thread[THREAD โ3,5,GROUP 1] Thread[THREAD โ4,5,GROUP 1] Thread[THREAD โ1,5,GROUP 2] Thread[THREAD โ2,5,GROUP 2] Thread[THREAD โ3,5,GROUP 2] Thread[THREAD โ4,5,GROUP 2] Thread[THREAD โ1,5,GROUP 3] Thread[THREAD โ2,5,GROUP 3] Thread[THREAD โ3,5,GROUP 3] Thread[THREAD โ4,5,GROUP 3] Thread[THREAD โ5,5,GROUP 1] THREAD โ1 : GROUP 2 ะฟัะตัะฒะฐะฝะฐ THREAD โ2 : GROUP 2 ะฟัะตัะฒะฐะฝะฐ THREAD โ4 : GROUP 2 ะฟัะตัะฒะฐะฝะฐ THREAD โ3 : GROUP 2 ะฟัะตัะฒะฐะฝะฐ
GO TO FULL VERSION