Объект не привязан к потоку, в котором он был создан ... единственный способ, которым вы будете иметь методы, выполняемые в основном потоке, - это если вы вызываете их в основном потоке.
Относительно легко увидеть, какой поток вызывает метод ... просто создайте фиктивную функцию:
public threadDetect(string which)
{
System.out.println("Executed from " + which + " thread.");
}
В основной теме вы звоните:
threadDetect("main");
Из дочерней нити вы звоните:
threadDetect("child");
Я не уверен, что OP использует аналогичный способ для определения того, какой поток выполняет метод, но это один из способов сделать это.