API для public final boolean cancel(boolean mayInterruptIfRunning)
:
"mayInterruptIfRunning
- true
, если поток, выполняющий эту задачу, должен быть прерван; в противном случае выполняемым задачам разрешается завершать".
Вы должны прочитать на Thread.interrupt
.Это на самом деле ничего не прерывает;Вы должны указать в своем коде, как обращаться с прерываниями.
Кроме того, из вашего вопроса не ясно, хотите ли вы просто остановить основной SwingWorker
от принятия соединений или если вы хотите уничтожить все существующие соединениятоже.
РЕДАКТИРОВАТЬ: Если у вас в потоке есть петля while
, принимающая соединения:
while (!Thread.interrupted()) {
должно быть достаточно, я думаю.Теперь, когда SwingWorker
отменен, цикл должен остановиться, потому что для потока SwingWorker
установлен флаг внутреннего прерывания.