|
|
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
подскажите, возможно ли в linux создать поток и не ждать его конца, чтобы созданный поток выполнялся сам по себе? Или это надо реализовывать не через потоки а через fork -> exec ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 10:55 |
|
||
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
Например: pthread_create(), pthread_join(), pthread_cancel(). clone(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 11:21 |
|
||
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
но ведь pthread_join() будет ждать окнчания потока, а мне надо что бы я вызвал поток, и он сам по себе отработал, не отвлекая основную программу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 11:33 |
|
||
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
PitBullно ведь pthread_join() будет ждать окнчания потока, а мне надо что бы я вызвал поток, и он сам по себе отработал, не отвлекая основную программу Он и будет жить, после того как ты его создашь. Но ты же когда будешь завершать программу, будешь останавливать поток? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 11:35 |
|
||
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
программу завершать не буду. А запуск отдельного потока может инициировать пользователь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 11:37 |
|
||
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 11:37 |
|
||
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. вот здесь поток, который я вызываю, может выполняться неизвестное мне время(до 10 минут), и мне надо чтобы пользователь не ждал, пока этот поток завершиться, а работал дальше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 11:40 |
|
||
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. может ещё подскажешь, в чём ту проблема? есть метод thread_parsing, но он почему то не отрабатывает, как будто мимо проходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 11:48 |
|
||
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
PitBullпрограмму завершать не буду. А запуск отдельного потока может инициировать пользователь Никогда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 12:22 |
|
||
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
PitBull Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. может ещё подскажешь, в чём ту проблема? есть метод thread_parsing, но он почему то не отрабатывает, как будто мимо проходит Поток существует, пока существует программа. Если из main() вышел, поток умрет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 12:24 |
|
||
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
т.е. невозможно сделать так, чтобы поток был запущен в ходе работы программы, отработал и завершился? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 12:39 |
|
||
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
Akh PitBullпрограмму завершать не буду. А запуск отдельного потока может инициировать пользователь Никогда? Программа может работать месяцами, не выключаясь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 12:40 |
|
||
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
Akh PitBull Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. может ещё подскажешь, в чём ту проблема? есть метод thread_parsing, но он почему то не отрабатывает, как будто мимо проходит Поток существует, пока существует программа. Если из main() вышел, поток умрет. Я правильно тебя понял, что моя тестовая программа заканчивается раньше чем выполнится поток и поэтому поток умирает? Я думал что pthread_create - сразу запускает поток ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 13:04 |
|
||
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
PitBullЯ правильно тебя понял, что моя тестовая программа заканчивается раньше чем выполнится поток и поэтому поток умирает? Я думал что pthread_create - сразу запускает поток Почти. Я не сказал, что это так. Необходимо об этом позаботиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 13:13 |
|
||
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
PitBull Akh PitBullпрограмму завершать не буду. А запуск отдельного потока может инициировать пользователь Никогда? Программа может работать месяцами, не выключаясь Ну, а освобождать ресурсы кто будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 13:14 |
|
||
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
PitBull пишет: > Автор: "PitBull" > но ведь pthread_join() будет ждать окнчания потока, а мне надо что бы я Будет. Ну значит не вызывай pthread_join() Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 14:20 |
|
||
|
потоки в С под linux
|
|||
|---|---|---|---|
|
#18+
PitBull wrote: > т.е. невозможно сделать так, чтобы поток был запущен в ходе работы > программы, отработал и завершился? Этим, часом, не pthread_detach занимается? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 14:56 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34647602&tid=2028540]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
194ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 542ms |

| 0 / 0 |
