| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > В каком потоке будет исполняеться метод |
| Автор: kaa 30.7.2009, 13:18 |
| Есть такой вопрос: - я создаю класс имплементирующий Runnable интерфейс с бесконечным циклом в методе run() и какими-то другими методами, принадлежащими классу; - я дергаю какой-либо метод у данного класса: в каком потоке будет исполняться этот метод? В потоке класса-хозяина или в том потоке, откуда его дёрнули? Всю голову сломал, но вот переклинило меня и всё |
| Автор: Platon 30.7.2009, 14:09 |
| Не теми терминами мыслите, товарищ. У классов нет потоков. Поток - это беговая дорожка, в которой вас перебрасывает от операции к операции, классы лишь показывают адреса полей и методов в памяти. Т.е. следите какой поток зашел в функцию, в нем же и будет вызвана следующая функция. Не забываем о хитрых случаях, когда можно напороться на ExecutorService и там уже задача будет передана другим потокам, а наш поток не дожидаясь исполнения задачи продолжит свой бег. |
| Автор: kaa 30.7.2009, 14:45 |
| Нет, я понимаю что классы это не потоки. смвой оборот я применил что бы выделить "мой" поток, который я сам реализую Тоесть, как я понял, функция, вызванная из класса, из любого, даже реализующего Runnable интерфейс, будет выполняться в вызвавшем её потоке, так? А что такое ExecutorService? Это я как понимаю и есть способ отдать выполнение задачи другому потоку? Если да, то в какую сторону гуглить? Можно об этом чуточку поподробнее? Спасибо! |