Fezes
Uma thread permite, por exemplo, que o usuário de um programa utilize uma funcionalidade do ambiente enquanto outras linhas de execução realizam outros cálculos e operações.
Diversos tipos de aplicações necessitam grande quantidade de processamento para realizarem suas tarefas. Muitas vezes este processamento sobrecarrega o dispositivo, causando resultados indesejáveis.
Usuários de iPhone e outros dispositivos móveis estão acostumados a utilizar aplicações que respondem imediatamente a suas ações, gerando feedback visual do que está acontecendo. Por isso, mais do que nunca, em dispositivos com quantidade reduzida de recursos, é importante saber distribuir o trabalho da forma correta.
Neste post, mostraremos como realizar tarefas concorrentemente. Para isso desenvolveremos um aplicativo que realizará um cálculo que requer grande quantidade de processamento. Implementaremos duas versões para o aplicativo e em apenas uma delas utilizaremos processamento paralelo. Dessa forma o problema ficará bem evidente.
Tradicionalmente, utiliza-se um recurso chamado threads para realizar processamento “paralelo”. Toda aplicação possui pelo o menos uma thread, que contém o código principal do programa. Esta é a chamada main thread. Cada nova thread executa seu código concorrentemente com as outras já existentes. Caso o processador utilizado possua um núcleo para cada thread, a execução ocorre de fato paralelamente. Caso contrário é feita uma simulação deste processo gerando, para o usuário, a sensação de paralelismo.
O Foundation framework