beginInvoke, GUI e thread

Tenho aplicação com dois threads. Um deles (T1) é a forma principal da GUI, outro (T2) é a função que trabalha em loop. Quando T2 obtém alguma informação, deve chamar a função com o formulário da GUI. Não tenho certeza se faço direito.

Função de chamada T2 FUNCTION, que atualiza algo no formato da GU

  public void f() {
        // controler.doSomething();
  }


 public void FUNCTION() {

    MethodInvoker method = delegate {
            f();
    };

    if ( InvokeRequired ) {
        BeginInvoke( method );
    } else {
            f();
    }
 }

Mas agora devo declarar duas funções. Como ele usa apenas uma função? Ou como está certo.

questionAnswers(2)

yourAnswerToTheQuestion