потоки

  • Автор темы Автор темы world12
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
W

world12

Здраствуйте дорогие программисты!!!
Возникла такая проблема!!!
Задали написать программу состоящая из 3-х потоков. Каждый поток выводит горизонтальную линию....
Следующий поток рисует линию под той линией...
Проблема в том что у меня длина линиии сделана константной... А нужна сделать так, чтобы длина линии зависела от приоритета потока. Т.е. если первому потоку стоит максимальный приоритет, то его линии будут длинее остальных, но разные сами по длине....
Помогите мне исправить програму!!!!((((((
 

Вложения

исправляем вот так
Код:
 public
{ Public declarations }
line1 : Integer;
PriorityThread1,PriorityThread2,PriorityThread3:TThreadPriority;  //управление приоритетами потоков
.....................
procedure ThreadId1.DrawingLine1;//поток рисование 1-ой линии
begin
Form1.PaintBox1.Canvas.Pen.Color:=line_Color1;//устанавливаем цвет линии
Form1.PaintBox1.Canvas.Pen.Width:=line_Height1;//устанавливаем ширину линии
Form1.PaintBox1.Canvas.MoveTo(x, y);//начальная координата линии
case Form1.PriorityThread1 of
tpIdle: Form1.line1 := 10;
tpLowest: Form1.line1 := 20;
tpLower: Form1.line1 := 30;
tpNormal: Form1.line1 := 40;
tpHigher: Form1.line1 := 50;
tpHighest: Form1.line1 := 60;
tpTimeCritical: Form1.line1 := 70;
end;
Form1.PaintBox1.Canvas.LineTo(x+Form1.line1, y);//рисуем линию заданной длины
end;
для двух остальных потоков аналогично
 
VahaC Это не много не то...
Вот допустим первому потоку поставлен приоритет реального времени. Значит система этому потоку будет выделять больше времени. Но это время будет разное. Линии все равно будут разного размера, но они будут длинее чем остальные...
Поэтому такой подход к сожалению не подходит((((((
 
Слушай ты нормально(на пальцах) объясни чего надо.
А то я чегот не пойму
 
Слушай ты нормально(на пальцах) объясни чего надо.
По-моему, он сам не представляет, что хочет.
его линии будут длинее остальных, но разные сами по длине....
т.е. линия должна рисоваться ровно столько и ровно тогда, когда процессор обрабатывает поток? Вы это хотите? => чем больше процессор обрабатывает поток, тем длиннее линия. Так? Вот только это бред) Так не выйдет)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!