![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обращение к переменным в потоках
cyborg © (2005-12-08 10:02:00)Создаю поток CreateThread, как в нём правильно работать с переменными, которые могут обрабатываться вне потока?
Defunct (2005-12-09 12:24:00) [1]Удалено модератором
cyborg (2005-12-09 11:07:00) [2]Удалено модератором
Defunct (2005-12-08 23:53:00) [3]Удалено модератором
Fay (2005-12-08 16:33:00) [4]2 Digitman © (08.12.05 16:22) [37]
> там же, среди прочих вызовов, встретишь и свою CreateThread.
Было бы весьма занятно, если бы её там не оказалось 8)
Digitman (2005-12-08 16:23:00) [5]
> Fay © (08.12.05 16:06) [36]
> встречаю чужой код c TThread(), никода не чувствствую уверенности
> в том, что точно понимаю логику программы
просто исх.текст Борланда нужно внимательно проштудировать ... там же, среди прочих вызовов, встретишь и свою CreateThread.
Digitman (2005-12-08 16:22:00) [6]
> Fay © (08.12.05 16:06) [36]
> встречаю чужой код c TThread(), никода не чувствствую уверенности
> в том, что точно понимаю логику программы
просто исх.текст Борланда нужно внимательно проштудировать ... там же, среди прочих вызовов, встретишь и свою CreateThread.
Digitman (2005-12-08 16:22:00) [7]
> Fay © (08.12.05 16:06) [36]
> встречаю чужой код c TThread(), никода не чувствствую уверенности
> в том, что точно понимаю логику программы
просто исх.текст Борланда нужно внимательно проштудировать ... там же, среди прочих вызовов, встретишь и свою CreateThread.
Fay (2005-12-08 16:06:00) [8]2 Digitman © (08.12.05 14:44) [35]
Ничего.
Когда встречаю чужой код c TThread(), никода не чувствствую уверенности в том, что точно понимаю логику программы.
Читал 100 раз про TThread (в книгах, в статьях). Везде примеры, слова о том, какой это полезный и удобный класс.
Но вот я не смог работать с потоками, пока не разобрался с CreateThread - нормальная понятная функция с понятными параметрами. И стало мне понимание и щястье.
Digitman (2005-12-08 14:44:00) [9]
> Fay © (08.12.05 14:00) [32]
> до сих пор его (TThread) не понимаю
чтот конкретно не понимаешь ?
Fay (2005-12-08 14:14:00) [10]2 Leonid Troyanovsky © (08.12.05 14:10) [33]
Ясно. Действительно, это очень серьёзно 8).
На самом деле, я когда-то (не так давно) не ваще знал про IsMultiThread, а узнал только при обсуждении достоинств BeginThread 8)
Leonid Troyanovsky (2005-12-08 14:10:00) [11]
> Fay © (08.12.05 14:00) [32]
> > BeginThread - для спартанских приложений, скажем, консолей.
> А CreateThread чем так провинился?
Не устанавливает IsMultiThread :)
Да и про stdcall дельферы забывают.
--
Regards, LVT.
Fay (2005-12-08 14:00:00) [12]2 Leonid Troyanovsky © (08.12.05 13:55) [31]
> Проще: привычная объектная модель, готовый механизм
>синхронизации.
> Сл-но, меньше ошибок.
Может быть. А я до сих пор его (TThread) не понимаю.
> BeginThread - для спартанских приложений, скажем, консолей.
А CreateThread чем так провинился?
Leonid Troyanovsky (2005-12-08 13:55:00) [13]
> Fay © (08.12.05 13:24) [30]
> > А лучше - TThread.
> Чем лучше?
Проще: привычная объектная модель, готовый механизм синхронизации.
Сл-но, меньше ошибок.
BeginThread - для спартанских приложений, скажем, консолей.
--
Regards, LVT.
Fay (2005-12-08 13:24:00) [14]2 Leonid Troyanovsky © (08.12.05 12:39) [27]
> А лучше - TThread.
Чем лучше?
cyborg (2005-12-08 13:14:00) [15]
> [27] Leonid Troyanovsky © (08.12.05 12:39)
Да, заменил.
Reindeer Moss Eater (2005-12-08 12:43:00) [16]В чём проблема? Пиши, кто тебе не даёт?
Проблемы нет.
Есть бессмысленность термина "правильное обращение с переменными"
Leonid Troyanovsky (2005-12-08 12:39:00) [17]
> cyborg © (08.12.05 12:02) [21]
> Спасибо, я через критикал сектион уже сделал.
На здоровье.
Надеюсь, что с учетом [19].
--
Regards, LVT.
Digitman (2005-12-08 12:31:00) [18]
> Набросок кода у меня такой
а если бы был вот такой
var Form1: TMyForm;
...
Form1.Show;
то "общее решение" с крит.секциями - коту под хвост
cyborg (2005-12-08 12:25:00) [19]
> [23] Reindeer Moss Eater © (08.12.05 12:19)
> Мне например нужно что бы запись в переменные не синхронизировалась
> и в переменных появлялся "мусор".
> Надо и все тут.
В чём проблема? Пиши, кто тебе не даёт?
cyborg (2005-12-08 12:20:00) [20]
> зато кажется другое - когда трудно изложить конкретную конечную
> задачу словами, следует приводить хотя бы наброски кода
> с пояснениями, где и какие сомнения в нем
Набросок кода у меня такой:
S : String;
...
S:=S+'123456';
поэтому никаких набросков я не приводил.