package com.way.chat.server; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * ���д�̵߳Ļ����� * * @author way */ public class OutputThreadMap { private HashMap<Integer, OutputThread> map; private static OutputThreadMap instance; private OutputThreadMap() { map = new HashMap<Integer, OutputThread>(); } public synchronized static OutputThreadMap getInstance() { if (instance == null) { instance = new OutputThreadMap(); } return instance; } public synchronized void add(Integer id, OutputThread out) { map.put(id, out); } public synchronized void remove(Integer id) { map.remove(id); } public synchronized OutputThread getById(Integer id) { return map.get(id); } public synchronized List<OutputThread> getAll() { List<OutputThread> list = new ArrayList<OutputThread>(); for (Map.Entry<Integer, OutputThread> entry : map.entrySet()) { list.add(entry.getValue()); } return list; } }