.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();//Закрываешь что ты там хотел
}
}
}