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

start [/forum/topic.php?fid=58&msg=40009601&tid=2037921]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
82ms |
get topic data: |
16ms |
get forum data: |
5ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
| others: | 346ms |
| total: | 573ms |

| 0 / 0 |
