Size: a a a

2021 January 11

HG

Hemul GM in Delphi & Lazarus
Создание сессии приводит к регистрации в общем списке сессий
источник

RS

Renat Suleymanov in Delphi & Lazarus
bakalavrat
Подскажите хочу использовать в потоках создаваемый тип

type
 MyPCharType = PAnsiChar;
 MyPVoid = IntPtr;

 //Definition of the Session
 Session = record
   Name: String;
   ID: Integer;
   Client : MyPVoid;
 end;
 
 var
 //Client Control
 FClient : MyPVoid;
 
 каждый поток должен создавать свою сессию.
 как хранить и обращаться к новому типу из основного потока?
 обязательно ли в основном потоке обьявлять такой же тип?
«  как хранить и обращаться к новому типу из основного потока? » Если значение в этом потоке может поменяться, то через синхронизации (способы разные есть в зависимости от ситуации). Иногда стоит пересмотреть архитектуру. Может быть значения сессий можно передавать после завершения потока, тогда обычно можно без синхронизации. Вообще работа с потоками для новичка может показаться достаточно сложным. Поэтому нужно почитать документацию о многопоточости
источник

HG

Hemul GM in Delphi & Lazarus
Renat Suleymanov
«  как хранить и обращаться к новому типу из основного потока? » Если значение в этом потоке может поменяться, то через синхронизации (способы разные есть в зависимости от ситуации). Иногда стоит пересмотреть архитектуру. Может быть значения сессий можно передавать после завершения потока, тогда обычно можно без синхронизации. Вообще работа с потоками для новичка может показаться достаточно сложным. Поэтому нужно почитать документацию о многопоточости
Он просто не так задает вопрос
источник

RS

Renat Suleymanov in Delphi & Lazarus
Hemul GM
Он просто не так задает вопрос
✔️
источник

b

bakalavrat in Delphi & Lazarus
Renat Suleymanov
«  как хранить и обращаться к новому типу из основного потока? » Если значение в этом потоке может поменяться, то через синхронизации (способы разные есть в зависимости от ситуации). Иногда стоит пересмотреть архитектуру. Может быть значения сессий можно передавать после завершения потока, тогда обычно можно без синхронизации. Вообще работа с потоками для новичка может показаться достаточно сложным. Поэтому нужно почитать документацию о многопоточости
да с потоками всегда работаю а вот с указателями мало
источник

DB

Dmitry Belkevich in Delphi & Lazarus
в качестве списка сессий и вообще списка любых классов для запуска в многопоточке удобен TThreadList. что бы свои велосипеды не пилить
источник

HG

Hemul GM in Delphi & Lazarus
Dmitry Belkevich
в качестве списка сессий и вообще списка любых классов для запуска в многопоточке удобен TThreadList. что бы свои велосипеды не пилить
+
источник

HG

Hemul GM in Delphi & Lazarus
Dmitry Belkevich
в качестве списка сессий и вообще списка любых классов для запуска в многопоточке удобен TThreadList. что бы свои велосипеды не пилить
Хотя, тут он не нужен
источник

HG

Hemul GM in Delphi & Lazarus
Хотя...
источник

HG

Hemul GM in Delphi & Lazarus
Смотря как будут создаваться классы
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Hemul GM
Хотя, тут он не нужен
как не нужен? ) если ему определенный поток из одинаковых нужен. самое что ни на есть тот класс
источник

HG

Hemul GM in Delphi & Lazarus
Если тоже в стороннем потоке, то да
источник

DB

Dmitry Belkevich in Delphi & Lazarus
не, ну можно и в обычный TList кинуть. смотря конечно в каком состоянии будут потоки. если сами к своим данным лезть не будут, то работать будет. но лучше и надежнее сразу TThreadList воткнуть
источник

b

bakalavrat in Delphi & Lazarus
Dmitry Belkevich
не, ну можно и в обычный TList кинуть. смотря конечно в каком состоянии будут потоки. если сами к своим данным лезть не будут, то работать будет. но лучше и надежнее сразу TThreadList воткнуть
спасибо за мысли
источник

DB

Dmitry Belkevich in Delphi & Lazarus
если только для загрузки данных на старте и выгрузки на финише, то и основной поток справится без синхронизации. то есть TLust'а достаточно. если же нужен многопточный доступ, то нужен TThreadList
источник

DB

Dmitry Belkevich in Delphi & Lazarus
еще удобнее дженерик варианты TList<> и TThreadList<>
источник

HG

Hemul GM in Delphi & Lazarus
Dmitry Belkevich
еще удобнее дженерик варианты TList<> и TThreadList<>
Я думал ты сразу его имеешь ввиду
источник

DB

Dmitry Belkevich in Delphi & Lazarus
лучше явно написать ) не все знают
источник

b

bakalavrat in Delphi & Lazarus
а может кто за денежку сможет разложить мне чужой код по функциям для потоков? ну так сказать приценится бы скок по времени и цене. если кому интересно и есть врем отпишите в личку
источник

Р

Рус in Delphi & Lazarus
Всем привет! Проблема такая: есть несколько вложенных циклов for var in array do, считаются долго, так вот хотелось бы все var запоминать при завершении программы (циклы прерываются), чтобы при следующем запуске продолжить выполнение этих циклов. В связи с этим вопрос: есть ли какие хитрые приёмы, чтобы запустить цикл не с начала? Может быть как то внутри цикла можно чёт как-то сделать?
источник