Вы не можете использовать this
, потому что main - это статический метод, this
относится к текущему экземпляру, а его нет. Вы можете создать объект Runnable, который вы можете передать в поток:
myThread = new Thread(new Server());
myThread.start();
Это приведет к тому, что все, что вы добавите в метод run класса Server, будет выполнено myThread.
Здесь есть два отдельных понятия: Поток и Runnable. Runnable определяет, какую работу необходимо выполнить, Thread - это механизм, который выполняет Runnable. Хотя в Thread есть метод run, который вы можете расширить, вы можете игнорировать его и использовать отдельный Runnable.