Как общежитие в Москве снять
27.06.2016
При запуске приложения в соответствующем ему процессе инициализируется не менее 10 потоков. Первый поток - с именем com.eat - создаётся по умолчанию и активируется сразу после начала работы приложения. Следовательно, это U 1-поток данного приложения. Все прочие потоки порождаются UI-иотоком, что можно понять по идентификатору родительского процесса (PPID) этих потоков. Их PPID соответствует идентификатору процесса (PID) Ш-потока. Ищете недорогое жилье? Попробуйте общежитие в москве снять.
Большинство из показанных выше потоков являются внутренними потоками виртуальной машины Dalvik, поэтому нет необходимости подробно рассматривать их при разборе устройства приложения. Потоки ВМ Dalvik выполняют операции сборки мусора (garbage collection), устанавливают отладочные соединения, поддерживают функции финализации и т. д. Лучше сосредоточиться па тех потоках, которые действительно заслуживают внимания:
u0_a72 4257 144 320304 34540 ffffffff 00000000 S com.eat
uO а72 4268 4257 320304 34540 ffffffff 00000000 S Binder 1
uO а72 4269 4257 320304 34540 ffffffff 00000000 s Binder 2
Основополагающей единицей выполнения в системе Linux считаются потоки, а нс процессы. Поэтому планирование в ОС Android осуществляется на уровне потоков, а не процессов. При планировании процессорное время распределяется между потоками. Каждый поток, выполняющийся в приложении, соперничает за процессорное время со всеми другими потоками в этом же приложении. Планировщик решает, какой поток должен выполняться и сколько времени ему следует выделить, прежде чем будет выбран следующий поток и произойдёт переключение контекста. Очередной поток выбирается планировщиком в зависимости от некоторых свойств потока, различных для каждого типа планировщика, хотя наиболее важным остаётся приоритет потока. В ОС Android потоки приложений управляются стандартным планировщиком в ядре Linux, а не виртуальной машиной Dalvik. Практически это означает, что потоки одного приложения соперничают за процессорное время выполнения не только друг с другом, но и со всеми прочими потоками во всех других работающих приложениях.
|