Delegate.Invoke () запускает метод, на который указывает делегат, в новом потоке, или вам нужно использовать Delegate.BeginInvoke ()? - PullRequest
0 голосов
/ 20 марта 2012

Delegate.Invoke () запускает метод, на который указывает делегат в новом потоке, или вам нужно использовать Delegate.BeginInvoke () для этого?

Спасибо

Ответы [ 3 ]

2 голосов
/ 20 марта 2012

Delegate.Invoke: выполняется синхронно в том же потоке.Delegate.BeginInvoke: выполняется асинхронно в потоке потоков.

из ответа здесь - В чем разница между Invoke () и BeginInvoke ()

0 голосов
/ 20 марта 2012

Delegate.Invoke() аналогично вызову делегата, что приведет к вызову делегата в том же потоке. Чтобы сделать асинхронный вызов делегата, вы должны вызвать его с помощью BeginInvoke, который в конечном итоге сделает вызов в другом потоке (а затем активирует метод обратного вызова)

0 голосов
/ 20 марта 2012

Он работает в том же потоке, в котором работает в данный момент, если вы не выполните BeginInvoke

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...