.NET 4.x Как запустить метод в отдельном потоке? - C#
Формулировка задачи:
есть метод
он очень долго весит при обработке данных из за этого винда считает что приложение зависло...
Решение напрашивается запустить в отдельном потоке но так как с парралельностью еще не разу не работал то не знаю как это сделать...
чтение про Thread не помогло .
string s = mac.termt(m, m.GetLength(0)).ToString();
Решение задачи: «.NET 4.x Как запустить метод в отдельном потоке?»
textual
Листинг программы
using System; using System.Threading; using System.Windows.Forms; namespace Test { class Programm:Form { delegate string Delegate(параметр1, параметр2); //создаешь делегат в классе int m; string s; SomeClass mac;//твой объект Programm() { InitializeComponent(); mac = new SOmeClass(); Delegate del = new Delegate(mac.termt); //инкапсулируешь в делегат метод из класса del.BeginInvoke(параметр1, параметр2, new AsyncCallback(CallBackFunc), null); } void CallBackFunc(IAsyncResult aRes) { del.EndInvoke(aRes); this.Close();//Закрываешь что ты там хотел } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д