Показать сообщение отдельно
Старый 28.05.2009, 20:08   #2
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Lib_threads - динамические потоки (выполнение процедур в отдельных потоках, параллельно основной программе)

А можно увидеть рабочий пример использования библиотеки?
Тестировал на таком коде:
program threadstest;
uses threads;

procedure p1;
var
 
i1:integer;
begin
 
while true do
 
begin
 i1
:=i1+1;
 
drawtext(integertostring(i1),10,10);
 
repaint;
 
delay(1000);
 
end;
end;

procedure p2;
var
 
i2:integer;
begin
while true do
begin
 i2
:=i2+1;
 
drawtext(integertostring(i2),10,30);
 
repaint;
 
delay(2000);
 
end;
end;

procedure thread_id(uid:integer);
begin
 
if uid=1 then p1;
 if 
uid=2 then p2;
end;

begin
    threads_start
(1);
    
threads_start(2);
    
threads_setpriority(1,threads_norm);
    
threads_setpriority(2,threads_norm);
    
    
delay(200000000);
end
По идее, должен выводить на экран два числа, обновляя их значения с разным интервалом, для каждого числа свой поток.

Только почему-то обновляется только второй поток.

На этой же логике тестировал свою библиотеку для реализации потоков - работало.
(Offline)
 
Ответить с цитированием