Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Продолжение старого архива (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/)
-   -   Вызов функции другого потока. (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/vyzov-funkcii-drugogo-potoka-358605/)

Guest 30.09.2011 21:08

Вызов функции другого потока.
 
Доброго времени суток,подскажите пожалуйста, если вызывать функцию из другого потока, то какой поток будет ее обрабатывать, тот, что вызывает, или поток-владелец функции? Пробовал экспериментировать сам: создал поток, в run() увел его в вечный цикл, чтоб у него не было возможности отвечать на вызовы. После чего в главном потоке вызвал его функцию, как ни странно ответ пришел. В дебаггере ставил точку останова в функции дочернего потока, управление приходит, и gdb показывает, что эту функцию обслуживает первый, то есть основной поток. Но слава gdb мне не внушает доверия. Что скажете?И заодно уже второй вопрос задам. Если писать в соккет, который принадлежит другому потоку, ничего страшного не будет? Я уже так делал, вроде ничего, кроме того, что соккет на это не реагирует, до того, как поток-владелец не получит процессорное время. Но я думаю что это из-за каких то специфичных ивентов соккета, и пока цикл обработки сообщений не работает, то и данные не пишутся. Если не прав - поправьте.


Часовой пояс GMT, время: 16:35.


© www.otvetnemail.ru - Форум вопросов и ответов.