Данные каждого канала как-то обрабатываются? Если нет, то ни то, ни другое. Времени навалом, проще перебирать каналы каждую миллисекунду в прерывании базового таймера. В случае обработки каждого отсчета использовал массив очереди каналов. Переменный тайм-аут не имеет смысла.