Вызов метода из фонового потока
У меня имеется один класс. Внутри класса есть два метода:
- Метод с бесконечным циклом, - этот метод запускается в отдельном фоновом потоке.
- Метод, в котором выполняются какие-то любые действия. Предположим, цикл на 1000 итераций.
Вопрос: если я в первом методе (в фоновом потоке) вызову второй метод, в каком потоке будет выполняться второй метод? Мне сказали, что он будет выполнен в том потоке, в котором он был вызван, то есть - в фоновом. Но я не понимаю, почему? Меня очень интересует, где я могу об этом почитать? Предоставьте, пожалуйста, информацию об этом. Не могу найти в интернете ничего по этой теме.
Ответы (1 шт):
Суть в том, что у каждого потока есть свой стек вызовов. То есть, если мы вызовем метод в каком-то потоке, то выполнятся он будет именно в этом потоке. По-моему, концепция потоков хорошо описана в книге Таненбаума "Современные операционные системы", она поможет разобраться с некоторыми понятиями на более глубоком уровне.