El if no tiene llave de apertura pero sí de cierre. Por lo tanto, la llave de cierre del if cierra el for y la llave de cierre del for cierra el while, por ende, swapped no existe fuera del while.
Hola, coloca el stacktrace para poder observar con claridad la causa del error ya que pueden ser varias causas, por ejemplo, la más común en concurrencia es que se comparten objetos entre varios threads sin estar sincronizados. Aparte de esto tengo algunas preguntas:
¿a qué te refieres con bloqueado, quieres decir cancelado o dormido? ¿Qué significa areaTexto1, areaTexto2?
Es complicado leer tu código porque no utilizas nombres apropiados y no se puede comprender qué funciones cumplen las variables/funciones.
Si puedieses explicar cómo debe de funcionar tu código y qué funciones debe realizar, sería bueno.