|
|
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
Всем доброго дня! Есть простой поток Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. и есть его вызов из главной формы Код: pascal 1. 2. 3. Разве после выполнения, поток не должен уничтожиться и переменная SimpleT не должна стать Nil? Assigned(SimpleT) дает не nil ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 17:09 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
aidynchikпеременная SimpleT не должна стать Nil?нет, разумеется. у тебя переменная S в теле потока после того, как станет не нужна, становится равна нулю сама?)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 17:18 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
aidynchikРазве после выполнения, поток не должен уничтожиться и переменная SimpleT не должна стать Nil? 1. Должен. 2. Нет, это по факту указатель на участок памяти. Сам по себе не умеет обнуляться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 17:24 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
aidynchik, в программировании ничто не происходит 'чудесным образом'. если ты сам не обнилишь SimpleT, то кто же сделает это за тебя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 17:24 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
aidynchik, Код: pascal 1. 2. 3. 4. 5. 6. Наводящий вопрос: должны ли стать nil переменные SimpleT2, SimpleT3, SimpleT4 и MySuperThread? Если да, то где хранится список переменных, в которые нужно записать nil? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 17:26 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
aidynchik, даже лучше такой вопрос: создаст ли новый поток указанный ниже код? Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 17:27 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
aidynchikAssigned(SimpleT) дает не nil вот это самое первое неприятное открытие, когда начинаешь работать с доп.потоками, начитавшись мануалов :) Поэтому, лучше заворачивай создание потока в try..finally Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 18:02 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
DimonkaТогда уж Из-за особенностей реализации FreeOnTerminate это совершенно всё равно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 18:09 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
ДокПоэтому, лучше заворачивай создание потока в try..finally Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. А что это даст? Тогда уж Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 18:10 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
DimonkaА что это даст? Тогда уж Код: pascal 1. 2. 3. 4. 5. Тогда уж Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 18:20 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
Так точно не будет вопросов с переменной SimpleT :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 18:21 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
GunSmoker, такие вопросы задаёшь ... )) aidynchik, если сильно надо, можно так Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. но это не избавит от необходимости разобратся в устройстве TThread. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 18:39 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
aidynchikРазве после выполнения, поток не должен уничтожиться и переменная SimpleT не должна стать Nil? TThread наследник от TObject, со всеми вытекающими. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 19:20 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
И кстати, почему некоторые ждут, что после Free ссылка на объект должна сама занулиться? На каком ЯП они программировали/учились программировать раньше? Мне интересно посмотреть на этот ЯП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 19:23 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
stanilar, Delphi NextGen/LLVM ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 19:27 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
stanilarссылка на объект они не понимают, что такое ссылка они понимают, что это объект и есть, как строка и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 19:28 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
Arioch, таки, строка - тоже ссылка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 20:26 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
fd00ch, Ну да, в делфи всё - ссылки, кроме статических структур и статических же массивов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 21:31 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
DimonkaА что это даст? Тогда уж не по феншую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 23:06 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
Щас обсуждение выльется во что-то, подобное этому ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 23:08 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
Докне по феншуюПо мне, так Код: pascal 1. уже не по феншую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 23:10 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
Об чём спор-то, господа?) aidynchikРазве после выполнения, поток не должен уничтожиться?Он и "должен" и "уничтожился" (если поток правда завершился) . aidynchikи переменная SimpleT не должна стать Nil?Не должна. Это простой типизированный указатель. Сам не меняется. aidynchikAssigned(SimpleT) дает не nilПотому что указатель указывает на "теперь уже мусор". А так как память при освобождении не обнуляется - может даже что-то из полей остаться там лежать, создавая иллюзию что там до сих пор данные, но фактически это мусор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 01:49 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
ого, за ночь сколько всего произошло :) всем спасибо, этот форум реально the best ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 05:28 |
|
||
|
И снова потоки
|
|||
|---|---|---|---|
|
#18+
aidynchikРазве после выполнения, поток не должен уничтожиться и переменная SimpleT не должна стать Nil? Assigned(SimpleT) дает не nil При таком раскладе - не должен. Уничтожение потока и обниливание переменной это разные вещи. Если нужно обнилить переменную по завершению потока, то Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 13:17 |
|
||
|
|

start [/forum/topic.php?fid=58&tid=2041172]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
45ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 333ms |

| 0 / 0 |
