TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

O Laboratório Threads

Por:   •  27/9/2023  •  Trabalho acadêmico  •  4.114 Palavras (17 Páginas)  •  47 Visualizações

Página 1 de 17

Exercício 1

  1. Analise seu código e o comente detalhadamente. Código comentado no arquivo thread-create.c 
  2. A ordem de criação, a vação e encerramento dos threads é a mesma? Por quê?

Não necessariamente são as mesmas, pois a criação é determinada por um loop sequencial e a ordem de execução acontece em paralelo.

  1. Desenhe o diagrama de tempo de sua execução.

   _________________________________________________________________________________________

        | Tempo |                                                       Ação                                                                |

_________________________________________________________________________________________

| 0          |  

 

O programa é iniciado.                                                                  

|

| 1          |  

 

A função “main()” é chamada.                                                        

|

| 2          |  

 

A função “pthread_create()” é chamada para criar a primeira thread.                    

|

| 3          |  

 

A função “pthread_create()” é chamada para criar a segunda thread.                    

|

| ...  |  

 

                                                                                           

|

| 15  |

 

A função “pthread_create()” é chamada para criar a úl ma thread.                    

|

| 16  |  

 

Os threads começam a ser executadas pelo escalonador do sistema operacional.  

|

| 17  |  

 

A thread 0 imprime "t00: Olá!".                                                        

|

| 20  |  

 

A thread 0 imprime "t00: Tchau!".                                                        

|

| ...  |  

 

                                                                                           

|

| 41  |  

 

A thread 15 imprime "t15: Olá!".                                                        

|

| 44  |  

 

A thread 15 imprime "t15: Tchau!".                                                        

|

| 51  |  

 

A função “main()” imprime "Main: fim".                                              

|

| 52  |  

 

A função “pthread_exit()” é chamada para encerrar a thread “main()”.            

|

| 53  |  

 

O programa é encerrado.                                                                

|

 _________________________________________________________________________________________

 

Exercício 2

  1. Analise seu código e o comente detalhadamente. Código comentado no arquivo thread-join.c
  2. Explique o obje vo do parâmetro a r e da chamada pthread_join.

O parâmetro a r é uma estrutura de atributos do thread. A estrutura de atributos é usada para controlar o comportamento do thread. No caso deste código, o parâmetro a r é usado para definir o estado do thread como JOINABLE. A função pthread_join() é usada para esperar a thread terminar.

 

 

 

 

 

 

 

 

 

 

 

  1. Desenhe o diagrama de tempo de sua execução.

________________________________________________________________________________________

        | Tempo |                                               Ação                                                                |

________________________________________________________________________________________

| 0  |  

 

O programa é iniciado.                                                                  

|

| 1  |  

 

A função “main()” é chamada.                                                        

|

| 2  |  

 

A função “pthread_a r_init()” é chamada para inicializar os atributos.          

|

| 3  |  

 

A função “pthread_a r_setdetachstate()” é chamada para configurar os atributos.

|

| 4  |  

 

A função “pthread_create()” é chamada para criar a primeira thread.                    

|

| 5  |  

 

A função “pthread_create()” é chamada para criar a segunda thread.                    

|

| ...  |  

 

                                                                                           

|

| 16 |

 

A função “pthread_create()” é chamada para criar a úl ma thread.                    

|

| 17 |  

 

Os threads começam a ser executados pelo escalonador do sistema operacional.  

|

| 18 |  

 

A thread 0 imprime "t00: Olá!".                                              

 

|

| 21 |  

 

A thread 0 imprime "t00: Tchau!".                                              

 

|

| ...  |  

 

                                                                                 

 

|

| 42 |  

 

A thread 15 imprime "t15: Olá!".                                              

 

|

| 45 |  

 

A thread 15 imprime "t15: Tchau!".                                              

 

|

| 52 |  

 

A função “main()” imprime "Main: aguardando thread 00".                    

 

|

| 53 |  

 

A função “pthread_join()” é chamada para aguardar a thread 0.          

 

|

| 56 |  

 

A função “main()” imprime "Main: aguardando thread 01".                    

 

|

| 57 |  

 

A função “pthread_join()” é chamada para aguardar a thread 1.          

 

|

| ...    |  

 

                                                                                 

 

|

| 110 |  

 

A função “main()” imprime "Main: aguardando thread 15".                    

 

|

| 111 |  

 

A função “pthread_join()” é chamada para aguardar a thread 15.          

 

|

| ...    |

 

                                                                                 

 

|

| 118 |  

 

A função “main()” imprime "Main: fim".                                      

 

|

| 119 |  

 

A função “pthread_a r_destroy()” é chamada para destruir os atributos.  

 

|

| 120 |  

 

A função “pthread_exit()” é chamada para encerrar a thread “main()”.  

 

|

| 121 |  

 

O programa é encerrado.                                                      

 

|

 _________________________________________________________________________________________ Exercício 3

...

Baixar como (para membros premium)  txt (9.3 Kb)   pdf (48.4 Kb)   docx (12.8 Kb)  
Continuar por mais 16 páginas »
Disponível apenas no TrabalhosGratuitos.com