• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

потоки

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

world12

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

Вложения

  • lab3_release_.rar
    71,4 КБ · Просмотры: 136
V

VahaC

исправляем вот так
Код:
 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;
для двух остальных потоков аналогично
 
W

world12

VahaC Это не много не то...
Вот допустим первому потоку поставлен приоритет реального времени. Значит система этому потоку будет выделять больше времени. Но это время будет разное. Линии все равно будут разного размера, но они будут длинее чем остальные...
Поэтому такой подход к сожалению не подходит((((((
 
V

VahaC

Слушай ты нормально(на пальцах) объясни чего надо.
А то я чегот не пойму
 
V

vital

Слушай ты нормально(на пальцах) объясни чего надо.
По-моему, он сам не представляет, что хочет.
его линии будут длинее остальных, но разные сами по длине....
т.е. линия должна рисоваться ровно столько и ровно тогда, когда процессор обрабатывает поток? Вы это хотите? => чем больше процессор обрабатывает поток, тем длиннее линия. Так? Вот только это бред) Так не выйдет)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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