|
|
|
как корректно убить поток?
|
|||
|---|---|---|---|
|
#18+
А что смешного ? Флаг freeonterminate := true. Понятно что при freeonterminate := false было бы так Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. И предикат с синхронайзом не нужен. И замечу мне было лень писать тут код с критическими секциями, поэтому выбрал синхронайз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2020, 16:37 |
|
||
|
как корректно убить поток?
|
|||
|---|---|---|---|
|
#18+
И уж забота программиста в своём потоке корректно обработать флаг Terminated. Ржака это когда поток собрались WinApi функциями мочить, вот то ржака. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2020, 16:50 |
|
||
|
как корректно убить поток?
|
|||
|---|---|---|---|
|
#18+
Mixrud А что смешного ? Флаг freeonterminate := true. Понятно что при freeonterminate := false было бы так Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. И предикат с синхронайзом не нужен. И замечу мне было лень писать тут код с критическими секциями, поэтому выбрал синхронайз. Всю эту батарею можно выкинуть, кроме одной строки - FreeAndNil. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2020, 18:20 |
|
||
|
как корректно убить поток?
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. Отгадайте сами, что удалится из списка... ну и если каждый поток завершается несколько секунд и их много, то ждать придется долго... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2020, 20:12 |
|
||
|
как корректно убить поток?
|
|||
|---|---|---|---|
|
#18+
Zelius Код: pascal 1. 2. Отгадайте сами, что удалится из списка... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2020, 20:16 |
|
||
|
как корректно убить поток?
|
|||
|---|---|---|---|
|
#18+
Zelius, FreeAndNil(thread); принудительно убьет поток. С ошибкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2020, 21:25 |
|
||
|
как корректно убить поток?
|
|||
|---|---|---|---|
|
#18+
YuRock, Поменяй местами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2020, 21:46 |
|
||
|
как корректно убить поток?
|
|||
|---|---|---|---|
|
#18+
Zelius, А вы предпочитаете потерять ссылки на потоки и пускай они завершаются сами по себе??? Ну-ну. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2020, 21:49 |
|
||
|
как корректно убить поток?
|
|||
|---|---|---|---|
|
#18+
rgreat, При freeonterminate true. А я сделал примечание, флаг FreeOnTerminate false. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2020, 21:50 |
|
||
|
как корректно убить поток?
|
|||
|---|---|---|---|
|
#18+
Mixrud Zelius, А вы предпочитаете потерять ссылки на потоки и пускай они завершаются сами по себе??? Ну-ну. Я предпочитаю сначала пройтись по всем потокам и сделать Terminate, а уже потом в новом цикле Free, так время ожиданию будет равно времени ожидания самого долгого потока, но не сумме всех потоков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2020, 22:45 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40009609&tid=2037921]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
169ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 524ms |

| 0 / 0 |
