2014-11-03 2 views
-1

Я обнаружил, что к этому методу передаетсяКак проверить, выполняется ли метод java Subject.doAs в отдельном потоке?

PrivilegedExceptionAction 

Этот объект имеет метод run(). Означает ли это, что будет создан отдельный поток для выполнения? Пожалуйста, часть кода, создающего этот поток, если да. Я этого не нашел.

ответ

1

Я думаю, что, может быть, это ваш ответ от SCJP книги:

Перегруженный запустить метод (String) будут игнорироваться класса Thread, если вы звоните сами. Класс Thread ожидает метод run() без аргументов, и он выполнит этот метод для вас в отдельном стеке вызовов после того, как поток был запущен. С помощью метода run (String s) класс Thread не будет вызывать этот метод для вас, и даже если вы вызовете непосредственно метод , выполнение не произойдет в новом потоке выполнения с отдельным стеком вызовов , Это произойдет только в том же стеке вызовов, что и код, с которого вы звонили , как и любой другой вызов обычного метода.

+1

Но я спросил, как работает стандартный jdk. Это не мой код. – user710818

0

Нет, Subject.doAs запускает код в том же потоке, только с данным предметом.

Смежные вопросы