07-Threads-C++BuilderV10

Page 1

E

N

G

E

N

H

A

R

I

A

D

E

P

R

O

C

E

S

S

A

M

E

N

T

O

D

I

G

I

T

A

L

I I

7. Programação com Threads 7.1. Introdução Uma aplicação multi-thread é uma aplicação que contém várias vias simultâneas de execução. Algumas considerações sobre a programação com threads: Cada thread supões uma carga adicional ao sistema. O desenho de aplicações multi-thread é complexo e difícil. As threads devem ser coodenadas de alguma forma.

POR QUE USAR THREADS? O uso de threads (de paralelismo em geral) proporciona uma série de vantagens frenta às limitações dos sistemas monotarefa. Por exemplo, suponha que a aplicação tenha que se ocupar da realização de cópias de segurança dos dados com que se trabalha. Com uma única thread teriamos que programar as cópias de segurança fora do horário habitual de trabalho. E se o programa tiver que funcionar 24 horas do dia? Com várias threads pode se aproveitar os períodos de inactividade do sistema.

APROVEITAMENTO DOS RECURSOS DO SISTEMA Quando se utiliza uma única thread o programa deve deter completamente a sua execução enquanto espera que se realize cada tarefa. A CPU permanece ocupada completamente (ou inativa) até que o processo atual termine a sua execução. Se forem utilizadas várias threads, o sistema pode ser usado para realizar várias tarefas simultaneamente (ex. reprodução de MP3 no background).

ESTABELECIMIENTO DE PRIORIDADES Como é lógico, se designa maior prioridade às tarefas mais importantes, ou seja, àquelas que requeiram uma resposta mais rápida.

MULTIPROCESAMENTO REAL Em um sistema multiprocessador, se a aplicação se decompõe em várias threads, o sistema operacional poderá designar cada uma a uma das CPU do sistema.

159


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.