/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
TestSuite/pointers12.pas
43 строки
665 B
Бондарев Иван
thread safe FixPointer (without locking)
25 фев 2020, 22:46
25 фев 2020, 22:46
564ebf9
Код
Авторство
О чём код?
type TPerson = record fam: string[15]; name: string[10]; id: integer; end; type PPerson = ^TPerson; var x: array[1..3] of TPerson; p: PPerson; procedure test1; begin var p1: PPerson := @x[1]; for var i := 1 to 1000 do begin p1^.name := 'abc'; assert(p1^.name = 'abc'); end; end; procedure test2; begin var p2: PPerson := @x[2]; for var i := 1 to 1000 do begin p2^.name := 'abc'; assert(p2^.name = 'abc'); end; end; begin {$omp parallel sections} begin test1; test2; end; p := @x[1]; p^.name := 'abc'; assert(p^.name = 'abc'); p := @x[2]; p^.name := 'def'; assert(p^.name = 'def'); end.