Не совсем так.
Алгоритм должен быть приблизительно такой:
Создается семафор.
Создается 2 потока ( разных ).
Поток №1:
- в цикле ( for i := 0 to size-1 do ):
- захватывает семафор
- рассчитывает очередную точку
- записывает ее в массив y
- отпускает семафор
- заносит данные точки в мемо ( для работы с визуальными компонентами надо использовать Synchronize )
- в начало цикла
Поток №2:
- в цикле
- захватывает семафор
- проверяет если появилась новая расчитаная точка
считывает ее
- отпускает семафор
- наносит новую точку ( точки ) на график ( не забывая Synchronize)
повторяет цикл пока не определит что больше точек не будет ( или что все точки нанесены )
|