/* * Copyright 2010-2015 Institut Pasteur. * * This file is part of Icy. * * Icy is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Icy is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Icy. If not, see <http://www.gnu.org/licenses/>. */ package icy.system.thread; import icy.main.Icy; /** * @deprecated Use {@link InstanceProcessor} instead. */ @Deprecated public class IdProcessor extends Processor { /** * Create an IdProcessor * * @deprecated uses default constructor instead */ @SuppressWarnings("unused") @Deprecated public IdProcessor(int maxProcess, int maxProcessPerId) { super(); } /** * Create an IdProcessor */ public IdProcessor(int priority) { super(-1, 1, priority); setThreadName("IdProcessor"); } /** * Create an IdProcessor */ public IdProcessor() { this(Processor.NORM_PRIORITY); } /** * Add a task to processor */ @Override public synchronized boolean addTask(Runnable task, boolean onAWTEventThread, int id) { if (task == null) return false; // we remove pending task if any removeFirstWaitingTask(id); if (!super.addTask(task, onAWTEventThread, id)) { if (!Icy.isExiting()) { // error while adding task System.err.println("Cannot add task, ignore execution : " + task); return false; } } return true; } }