V
Villiya
доброго всем времени суток.
помогите разобраться: у меня проект C# FormApplication в нем есть 2 формы Form1 и Form2, на Form2 есть кнопка "расчет" при нажатии на которую происходит вызов функции Go(), на Form1 находится кнопка "визуализация", которая вызывает Visualisation() - визуализацию того процесса, который расчитывается в Go(), но получается так,что у меня с начала считается до конца Go() и при вызове Visualisation() у меня визуализируется только последняя картинка из Go(), а мне нужно чтобы Go() считался как бы в фоне, и при этом можно было вызывать в любой момент расчета Visualisation(). насколько понимаю для этого нужно использовать 2 потока, при этом Go() будет находится в основном потоке, а Visualisation() в параллельном. т.е. все это будет выглядеть как-то так?
а как же тогда что это должно срабатывать по нажатию кнопок?
помогите разобраться: у меня проект C# FormApplication в нем есть 2 формы Form1 и Form2, на Form2 есть кнопка "расчет" при нажатии на которую происходит вызов функции Go(), на Form1 находится кнопка "визуализация", которая вызывает Visualisation() - визуализацию того процесса, который расчитывается в Go(), но получается так,что у меня с начала считается до конца Go() и при вызове Visualisation() у меня визуализируется только последняя картинка из Go(), а мне нужно чтобы Go() считался как бы в фоне, и при этом можно было вызывать в любой момент расчета Visualisation(). насколько понимаю для этого нужно использовать 2 потока, при этом Go() будет находится в основном потоке, а Visualisation() в параллельном. т.е. все это будет выглядеть как-то так?
Код:
class Class1
{
public void Go()
{
//какое-то вычисление
}
}
class Class2
{
public void Visualisation()
{
//что-то там
}
}
class Program
{
static void Main()
{
ThreadClass tc = new ThreadClass();
Thread firstthread = new Thread(new ThreadStart(tc.Go));
Thread secondthread = new Thread(new ThreadStart(tc.Visualisation));
firstthread.Start();
secondthread.Start();
}
}
а как же тогда что это должно срабатывать по нажатию кнопок?