Segurança de threads
Como o cTrader executa algos
O cTrader executa cada indicador ou cBot num subprocesso separado, isolado do processo principal do cTrader Windows. Isto significa que todas as novas instâncias de indicadores e cBots são executadas em processos separados.
Esta abordagem permite ao cTrader impor restrições de acesso ao código em processos separados, melhorando a segurança e a estabilidade.
Além disso, os processos separados de indicadores ou cBots não partilham os seus recursos com o processo principal do cTrader Windows. Se algo correr mal com um indicador ou um cBot, o problema subjacente não terá efeito no próprio cTrader.
Métodos e segurança de threads
Apenas alguns métodos na API são thread-safe, o que significa que pode chamá-los a partir de qualquer thread. Tudo o resto deve ser executado na thread principal do cBot ou do indicador.
Executar código na thread principal
Para executar algo na thread principal de um cBot ou indicador, utilize o método BeginInvokeOnMainThread(). Este aceita um delegado de ação e pode ser chamado a partir de qualquer thread em execução.
Partilhar dados entre instâncias
Como cada instância de indicador ou cBot é executada num único processo filho, pode utilizar propriedades ou campos estáticos para partilhar dados entre as diferentes instâncias do mesmo cBot ou indicador.