Ferramentas para Programação em Processadores Multi-Core
|
|
- João Dreer Palhares
- 6 Há anos
- Visualizações:
Transcrição
1 Ferramentas para Programação em Processadores Multi-Core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Introdução Arquiteturas multi-core Programação multithread Prática de programação Considerações finais Programa de Verão 2008 Petrópolis,. 1 2 Sumário Introdução Arquiteturas multi-core Programação multithread POSIX Threads pthreads OpenMP Prática de programação Considerações finais Microsoft CLR Common Language Runtime 2002 C#, C++, Visual Basic.NET, JScript Implementação livre: Mono Máquina virtual Interface de alto nível, explorando os conceitos de orientação a objetos Exemplos neste texto: C# 3 4
2 Primeiro programa using System; using System.Threading; Criação do objeto que contém o código a ser executado public class OiMundo { public static void codigo() { Console.WriteLine("Oi mundo"); Thread.Sleep( ); public static void Main() { int i; Thread t = new Thread( new ThreadStart( codigo ) ); t.start(); Thread.Sleep(40); t.join(); Criação de um novo fluxo de execução Membros da classe Thread (alguns métodos) Construtor Recebe um método estático (delegate) Start() Dispara a execução de um thread Join() / Join( Int32 ) Sincroniza a execução corrente com o término do thread associado ao objeto indicado, podendo ser indicado um tempo máximo de espera Sleep( Int32 ) O thread é suspenso pelo tempo indicado e força escalonamento 5 6 Membros da classe Thread (alguns métodos) Abort Sinaliza o thread para que ele interrompa sua execução Suspend() Suspende a execução do thread Resume() Retoma a execução do thread suspenso Membros da classe Thread (alguns atributos públicos) Name String que pode conter um string para identificar o thread Priority Indica a prioridade do thread: Highest, AboveNormal, Normal, BelowNormal ou Lowest ThreadState Indica o estado do thread: Aborted, AbortRequested, Background, Running, Stopped, StopRequested, Suspendend, SuspendRequested, Unstarted, WaitSleepJoin 7 8
3 Exemplo: manipulação de membros public class Exemplo_1 { public static void codigo() { try { // código do thread catch( ThreadAbortException e ) { // código de término induzido finally { // código padrão de término public static void Main() { Thread t = new Thread( new ThreadStart( codigo ) ); t.nome = "Meu thread"; t.start(); t.sleep(0); t.abort(); Comando lock lock( object ) { seção crítica public class Cofrinho { private Object ctrlock = new Object(); private int saldo; public void deposita( int val ) { lock( crtlock ) { saldo = saldo + val; public void saca( int val ) { lock( crtlock ) { saldo = saldo - val; 9 10 Esquema: Monitor classe Monitor Métodos estáticos: void Enter( Object ); Sincroniza acesso ao monitor controlado pelo objeto indicado bool TryEnter( Object ); Se o monitor está preso, retorna imediatamente com o valor false, se obteve acesso, retorna true bool TryEnter( Object, Int32 ); Permite aguardar (um tempo em milisegundos) para obter acesso ao monitor, caso este esteja preso. Caso obtenha o monitor, retorna true, caso contrário, retorna false void Exit( Object ); Libera o monitor Esquema: Monitor classe Monitor Exemplo: Note que o uso de cláusulas try/finally não é obrigatório, no entanto resulta em robustez ao código, uma vez que permite tolerância à ocorrência de exceções. Monitor.Enter( crtmonitor ); try { // código no monitor finally { Monitor.Exit( crtmonitor ); 11 12
4 Esquema: Mutex classe Mutex Métodos: Construtor Inicializa o mutex void WaitOne(); Sincroniza acesso ao monitor controlado pelo objeto indicado. O mesmo thread pode requisitar o mesmo mutex várias vezes sem ocorrer bloquamento void RealeaseMutex(); Libera o mutex Esquema: Mutex classe Mutex Exemplo: Note o uso das cláusulas try/finally class Contador { private static Mutex m = new Mutex(); private int contador = 0; public void Passagem() m.waitone(); try { contador++; finally { m.releasemutex(); Operações atômicas: classe Interlocked Métodos estáticos: Int32 Increment( ref Int32 ); Incrementa o conteúdo da variável e retorna o novo valor Int32 Decrement( ref Int32 ); Decrementa o conteúdo da variável e retorna o novo valor Int32 Exchange( ref Int32, Int32 ); O conteúdo da variável em referência recebe o novo valor informado e é retornado o valor original Int32 CompareExchange( ref Int32, Int32, Int32 ); Se os dois últimos parâmetros forem iguais, o primeiro parâmetro recebe o conteúdo do segundo. O valor retornado é o valor inicial do primeiro parâmetro. Operações atômicas: classe Interlocked Métodos estáticos, exemplos: Int32 Increment( ref Int32 ); Interlocked.Increment( ref i ); Int32 Decrement( ref Int32 ); Interlocked.Increment( ref i ); Int32 Exchange( ref Int32, Int32 ); Interlocked.Exchange( ref i, 0 ); Int32 CompareExchange( ref Int32, Int32, Int32 ); Interlocked.CompareExchange( ref erro, nerro, toler ); 15 16
5 Modelo M:N Redução de custos de manipulação (criação, término, escalonamento, ) Risco: aumentar o overhead com ociosidade dos threads do pool Classe PoolThread Métodos estáticos Máximo de 25 threads no pool por processador O trabalho enviado para o pool não pode ser bloqueante! Trabalho a ser realizado Código do usuário Código do usuário Classe PoolThread Exemplo: public class ManipulaPool { public static void Main() { WaitCallback trab = new WaitCallback( codigo ); ThreadPool.QueueUserWorkItem( trab ); static void codigo() { Status para os trabalhos Exemplo 2: class Examplo2 { static void Main() { WaitCallback callback; callback = new WaitCallback(PooledFunc); Console.WriteLine("Main thread. Is pool thread: {0, Hash: {1", Thread.CurrentThread.IsThreadPoolThread, Thread.CurrentThread.GetHashCode() ); ThreadPool.QueueUserWorkItem(callBack, "Verde"); ThreadPool.QueueUserWorkItem(callBack, "Azul"); ThreadPool.QueueUserWorkItem(callBack, "Vermelho"); Console.ReadLine(); static void codigo(object cor) { Console.WriteLine("Processing request '{0'." + " Is pool thread: {1, Hash: {2", (string)state, Informações sobre Thread.CurrentThread.IsThreadPoolThread, os threads Thread.CurrentThread.GetHashCode() ); Thread.Sleep(2000); Console.WriteLine("Request processed"); 19 Exemplo 2: class Examplo2 { static void Main() { WaitCallback callback; Saída callback = new WaitCallback(PooledFunc); Console.WriteLine("Thread Main. Thread de pool: {0, Hash: {1", Main thread. Is pool thread: Thread.CurrentThread.IsThreadPoolThread, False, Hash: 2 Processando trabalho 'Verde'. Thread.CurrentThread.GetHashCode() pool: True, Hash: ); 4 ThreadPool.QueueUserWorkItem(callBack, "Verde"); ProcessandoThreadPool.QueueUserWorkItem(callBack, trabalho 'Azul'. pool: "Azul"); True, Hash: 8 ThreadPool.QueueUserWorkItem(callBack, "Vermelho"); Processando trabalho 'Vermelho'. Thread pool: True, Hash: 9 Console.ReadLine(); Processamento terminado! Processamento terminado! static void codigo(object cor) { Processamento Console.WriteLine("Processando terminado! trabalho '{0'." + " Thread de pool: {1, Hash: {2", (string)state, Thread.CurrentThread.IsThreadPoolThread, Thread.CurrentThread.GetHashCode() ); Thread.Sleep(2000); Console.WriteLine("Processamento terminado!"); 20
6 Sumário Introdução Arquiteturas multi-core Programação multithread POSIX Threads pthreads OpenMP Prática de programação Considerações finais Ferramentas para Programação em Processadores Multi-Core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Programa de Verão Petrópolis,. 22
Informática UFRGS. Threads. Programação com Objetos Distribuídos (C. Geyer) C# Threads V5 1
C# Threads Programação com Objetos Distribuídos (C. Geyer) C# Threads V5 1 Autoria Autores Cláudio Geyer Local Instituto de Informática disciplinas: Programação Distribuída e Paralela Programação com Objetos
Leia maisProgramação Concorrente com Thread Java. Luiz Affonso Guedes Sistemas Distribuidos
Programação Concorrente com Thread Java Luiz Affonso Guedes Sistemas Distribuidos Definições Básicas Threads são sub-procesos no sistema operacional. É menos custoso gerenciar threads do que processos.
Leia maisUtilizando Threads em Java
Utilizando Threads em Java CCComp - DCE - UESB Resumo sobre os threads em Java Estrutura Geral das Implementações CCComp - DCE - UESB class ProcessoA extends Thread {... }//fim da classe ProcessoA class
Leia maisThreads. Leonardo Gresta Paulino Murta
Threads Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Estudaremos a execução em paralelo de programas em Java por meio de Threads Leonardo Murta Threads 2 Por que usar Threads? Threads
Leia maisFerramentas para Programação em Processadores Multi-Core
Ferramentas para Programação em Processadores Multi-Core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Introdução Arquiteturas multi-core Programação multithread Prática
Leia maisThreads em Java. Java Threads. Java Componentes: JVM JVM:
Threads em Java (Aula 17) Java Threads Difícil de classificar com user thread ou kernel thread As threads Java são gerenciadas pela JVM. Threads em Java podem ser criadas das seguintes maneiras: Fazendo
Leia maisThreads. O que é uma Thread? Paralelismo
Threads em Java 1 O que é uma Thread? Paralelismo Threads Multi- threading é o mecanismo de concorrência suportado explicitamente pela linguagem Java. Os mecanismos de gerenciamento e sincronização de
Leia maisTHREADS EM JAVA. George Gomes Cabral
THREADS EM JAVA George Gomes Cabral THREADS Fluxo seqüencial de controle dentro de um processo. Suporte a múltiplas linhas de execução permite que múltiplos processamentos ocorram em "paralelo" (em computadores
Leia maisUNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Bacharelado em Sistemas de Informação. Processamento Paralelo Threads. Aluno: Wagner Palacio
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Bacharelado em Sistemas de Informação Processamento Paralelo Threads Aluno: Wagner Palacio Turma: 3º período Professor: Giordano Cabral Recife, 29 de maio de 2012
Leia maisProgramação concorrente em Java
Programação concorrente em Java Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2007/2008 c 2000 2007 Paulo Sérgio Almeida Programação concorrente
Leia maisProgramação Concorrente em Java
Programação Concorrente em Java Prof. Orlando Loques - IC/UFF versão 17-04-2001 Referências: - Programação Concorrente em Java, Sérgio Teixeira de Carvalho & Leonardo N. M. Reis IC-UFF - Ousterhout, J.:
Leia maisThreads. Agenda. Threads. Processo. Processo. Processo. Processo. (c) Volnys B. Bernal Versão de 22/3/2012
1 2005-2009 Volnys Bernal 1 2005-2009 Volnys Bernal 2 Agenda Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Interface de threads Interfaces de threads de usuário x threads de núcleo
Leia maisProgramação Concorrente em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM
Programação Concorrente em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM O que é programação concorrente? Um programa, múltiplos fluxos de execução Quando usar programação concorrente? Desempenho Ex.:
Leia maisConcorrência em Java. Threads em Java
Concorrência em Java Threads em Java Máquina Virtual Java, Processos e Threads Cada instância da JVM corresponde a um processo do sistema operacional hospedeiro. A JVM não possui o conceito de processos
Leia maisJava Threads. Introdução
Java Threads mleal@inf.puc-rio.br 1 Introdução O único mecanismo de concorrência suportado explicitamente pela linguagem Java é multi-threading. threading. Os mecanismos de gerenciamento e sicronização
Leia maisMúltiplas Linhas de Execução Java (Threads)
Múltiplas Linhas de Execução Java (Threads) SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 9 Threads Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Threads Uma thread
Leia maisProgramação Orientada a Objetos em Java. Threads Threads Threads. Threads
Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Threads Threads Threads Threads Professor: César Melo Slides baseados
Leia maisNamespaces, Classes e Métodos.
. Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Linguagem
Leia maisClasses, Métodos e Propriedades
Ambiente de Programação Visual Classes, Métodos e Propriedades Prof. Mauro Lopes 1-31 22 Objetivos Nesta aula iremos dar continuidade aos elementos de programação da Linguagem C#. Iremos apresentar de
Leia maisNum programa em JAVA é possível definir diferentes sequências de execução independente: Threads.
Threads Folha 5-1 Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads. Uma Thread é similar a um processo no sentido em que corresponde a um conjunto de instruções
Leia mais[Magee 1999] Concurrency State Models and Java Programs, Jeff Magee, Jeff Kramer, John Wiley 1999.
Cap. IV - Programação Concorrente [Magee 1999] Concurrency State Models and Java Programs, Jeff Magee, Jeff Kramer, John Wiley 1999. [Gosling] The Java Language Specification James Gosling, Bill Joy and
Leia maisAlgoritmos II prof. Daniel Oliveira
Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional
Leia maisMaterial III-Bimestre Introdução e conceitos fundamentais da Linguagem C#
Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina POO -2017 Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C# http://www1.univap.br/~wagner Prof.
Leia maisIntrodução a Programação
Introdução a Programação Componente Linguagem de Programação I Prof. Esp. MBA Heuber G. F. Lima Aula 2 A plataforma.net VB C++ C# Common Language Specification ASP.NET: Web Services e Web Forms Te JScript
Leia maisSistemas Operacionais I Parte VI Threads
Sistemas Operacionais I Parte VI Threads Roteiro Introdução Benefícios Ciclo de Vida Estados Modelos Multithreading Modelo Muitos para Um Modelo Um para Um Modelo Muitos para Muitos Sistemas com Threads
Leia maisPRDS C#.Net Alexandre L. Silva
PRDS 2011.1 C#.Net Alexandre L. Silva alexandre.silva@les.inf.puc-rio.br Programa 1. Introdução ao.net 2. Introdução ao ASP.Net 3. Introdução ao C#.Net 4. Primeiro programa 5. Métodos e Variáveis 6. Estruturas
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.
Leia maisTratamento de Exceções, Multithreads e arquivos (em Java) Programação Orientada a Objetos
Tratamento de Exceções, Multithreads e arquivos (em Java) Programação Orientada a Objetos Nesta unidade vamos ver os últimos assuntos de interesse em java. O primeiro deles, bem simples, é o tratamento
Leia maisMultithreading. Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC - Programação em Comunicações
Programação Orientada por Objectos com Java www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt 1 Multithreading 154 Objectivos Ser capaz de: Explicar os conceitos básicos de multithreading Criar threads múltiplos
Leia maisConcorrência. Prof. Paulo Cesar F. de Oliveira, BSc, PhD
Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 2 Seção 1.1 Sistemas Monoprogramáveis Multiprogramáveis 3 Monoprogramável Multiprogramável E/S E/S 1 UCP livre UCP 1 2 1 (a ) Sistema Monoprogramável tem po
Leia maisFerramentas para Programação em Processadores Multi-Core
Ferramentas para Programação em Processadores Multi-Core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Introdução Arquiteturas multi-core Ferramentas de programação Prática
Leia maisOO Engenharia Eletrônica
OO Engenharia Eletrônica - Programação em C/C++ Slides 18: Introdução à programação multi-thread. Thread: linha de execução de um processo. Multi-thread: execução de múltiplas threads em um processo. Prof.
Leia maisSincronização e comunicação entre entidades de processamento. Mutex Volnys Bernal 1. Tópicos. Exclusão Mútua (mutex) Exclusão Mútua (Mutex)
2004-2013 Volnys Bernal 1 2004-2013 Volnys Bernal 2 Tópicos Exclusão Mútua (mutex) Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Exclusão Mútua () Objetivo, utilidade, requisitos
Leia maisExecução concorrente em Java: threads. O que são Threads? Criação e métodos de Threads Sincronização Comunicação entre Threads
Execução concorrente em Java: threads O que são Threads? Criação e métodos de Threads Sincronização Comunicação entre Threads Programação concorrente: introdução O mundo real funciona concorrentemente:
Leia maisProgramação Concorrente/Paralela em Java
em Java Resolução do Exercício 1 public class Cont extends Thread { protected int ct; public Cont() { ct=0; public synchronized void inc() { ct++; public void run() { for (int i=0; i
Leia maisExclusão Mútua (mutex)
2004-2017 Volnys Bernal 1 Exclusão Mútua (mutex) Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos Escola Politécnica da USP 2004-2017 Volnys Bernal 2 Tópicos Exclusão Mútua (Mutex)
Leia maisSistemas Operacionais
Sistemas Operacionais Threads em Java Paulo Ricardo Lisboa de Almeida 1 Temos várias interfaces e classes que podem facilitar nossa vida Runnable Callable Thread... 2 Para a aula de sistemas operacionais,
Leia maisORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 07: PROGRAMANDO COM THREADS EM LINGUAGEM C Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMANDO
Leia maisINF1404 MODELAGEM DE SISTEMAS
INF1404 MODELAGEM DE SISTEMAS Bacharelado em Sistemas de Informação Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 9 A Modelagem Dinâmica Diagramas de Interação Diagrama de Seqüência 1 Programa
Leia maisUniversidade da Beira Interior. Sistemas Distribuídos. Folha 4-1. Threads Daemon Threads
Threads Daemon Threads Folha 4-1 Uma Thread Daemon é uma Thread, geralmente usada para executar serviços em background, que tem a particularidade de terminar automaticamente após todas as Threads não Daemon
Leia mais1 Introdução e Conceitos básicos
1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2
Leia mais(Aula 17) Threads em Java
(Aula 17) Threads em Java Difícil As Threads thread threads de emjava classificar sãogerenciadaspelajvm. podemser com user criadasdas thread ou kernel Profa. Patrícia A seguintesmaneiras: Fazendo extend
Leia maisGRUPO: Rafael Igor Vanderlei Vieira
GRUPO: Rafael Igor Vanderlei Vieira C# INTRODUÇÃO Paradigmas: Orientado a objeto; Estruturado; Imperativo; Surgimento: 2002. Criador: Anders Hejlsberg. Principais Compiladores:.NET Framework (Windows),
Leia maisSistemas Operacionais
Sistemas Operacionais Programação Concorrente Introdução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Introdução Programa Seqüencial Representado por apenas um processo Existe apenas
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 11 - Threads e Concorrência
Aula 11 - Threads e Concorrência Conteúdo Programático desta aula Apresentar os Conceitos de Threads, Concorrência e Sincronização. Verificar a aplicabilidade destes conceitos no mercado, bem como sua
Leia maisThreads e Concorrência em Java (Material de Apoio)
Introdução Threads e Concorrência em Java (Material de Apoio) Professor Lau Cheuk Lung http//www.inf.ufsc.br/~lau.lung INE-CTC-UFSC A maioria dos programas são escritos de modo seqüencial com um ponto
Leia maisNotas de Aula 09: Tratamento de exceções
Notas de Aula 09: Tratamento de exceções Objetivos da aula: Compreender o conceito de exceção Aprender a tratar exceções nos programas Entender a hierarquia das exceções Criar e lançar uma exceção proprietária
Leia maisCarlos Eduardo Batista Centro de Informática - UFPB
Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Introdução O problema da Seção Crítica Seções Críticas: Spin Locks Implementando comandos Await Soluções justas Exercícios Programas
Leia maisProgramação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos
Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis
Leia maisTreinar - Cursos e Treinamentos C# Módulo I. Carga horária: 32 Horas
Treinar - Cursos e Treinamentos C# Módulo I Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos
Leia maisNa Aula Anterior... O Conceito de Threads
GSI018 Sistemas Operacionais 12/09/2016 Na Aula Anterior... Nesta Aula Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Comunicação entre Processos Pipes;
Leia maisProgramação Estruturada e Orientada a Objetos
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada e Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br
Leia maisSistemas Distribuídos INF
Sistemas Distribuídos INF2545 2015.1 alternativas p/ concorrência 1. multithreading várias linhas de execução compartilham globais com escalonamento preemptivo surgido de estudos de sistemas operacionais
Leia maisComo foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.
5 THREADS Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5.1 VISÃO GERAL Uma definição mais abrangente para threads é considerá-lo
Leia maisSistemas Distribuídos. Ricardo Ribeiro dos Santos
Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Agosto/2003 Tópicos Processos em SD Threads 2 Processos em SD Processo=Programa em execução... Do
Leia maisEncapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos
Encapsulamento e Métodos (Construtores e Estáticos) Sobrecarga de Métodos João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;
Leia maisINF1013 MODELAGEM DE SOFTWARE
INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 2 A Modelagem Dinâmica Diagramas de Interação Diagrama de Seqüência 1 Programa
Leia mais[Magee 1999] Concurrency State Models and Java Programs, Jeff Magee, Jeff Kramer, John Wiley 1999.
Cap. IV - Programação Concorrente [Magee 1999] Concurrency State Models and Java Programs, Jeff Magee, Jeff Kramer, John Wiley 1999. [Gosling] The Java Language Specification James Gosling, Bill Joy and
Leia maisGabriel de Oliveira Ramos Roland Teodorowitsch - Orientador
THREADS EM JAVA Gabriel de Oliveira Ramos Roland Teodorowitsch - Orientador Universidade Luterana do Brasil (Ulbra) Curso de Ciência da Computação Campus
Leia maisProgramação Concorrente. Prof. Hugo Vieira Neto
Programação Concorrente Prof. Hugo Vieira Neto Concorrência Um programa concorrente descreve diversas atividades que ocorrem simultaneamente, de modo diferente de programas comuns, que descrevem apenas
Leia maisProgramação em Paralelo OpenMP
Programação em Paralelo OpenMP N. Cardoso & P. Bicudo Física Computacional - MEFT 2012/2013 N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 1 / 15 Introdução Potencial do GPU vs CPU Cálculo: 367
Leia maisProcesso. Prof. Paulo Cesar F. de Oliveira, BSc, PhD
Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 Seção 1.1 Introdução 2 Receita do Bolo Programa (Algoritmo) Ingredientes: dados de entrada Quem prepara (confeiteiro): CPU atividade de: Ler a receita Buscar
Leia maisFundamentos de Programação 1
Fundamentos de Programação 1 Slides N. 2 D / Prof. SIMÃO Slides elaborados pelo Prof. Robson Linhares elaborados pelo Prof. Robson Linhares http://www.dainf.ct.utfpr.edu.br/~robson/ Jean Marcelo SIMÃO
Leia maisMULTITHREADING. Prof.: Michele Nasu Tomiyama Bucci
MULTITHREADING Prof.: Michele Nasu Tomiyama Bucci Introdução O corpo humano realiza uma grande variedade de operações paralelamente, ou concorrentemente. Os computadores também realiza operações concorrentemente.
Leia maisINE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO
INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (a) (Verdade/Falso) Sockets são abstrações utilizadas nos protocolos de comunicação UDP e TCP,
Leia maisLaboratório de programação II
Laboratório de programação II Herança e Polimorfismo Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando
Leia maisOO Engenharia Eletrônica
OO Engenharia Eletrônica - Programação em C/C++ Slides 18B: Introdução à Multithreading. Exemplos: Programação OO Multithreading com pthreads. Aluno: Vagner Vengue Threads Orientadas a Objeto Thread Orientada
Leia maisAgenda. O que é OpenMP? Regiões Paralelas Construtores para Compartilhamento de
Programando OpenMP Agenda O que é OpenMP? Regiões Paralelas Construtores para Compartilhamento de Trabalho Montando um escopo de dados para proteger de condições de corrida Cláusulas de agendamento O que
Leia maisComputação Paralela. Especificação de Concorrência/Paralelismo. João Luís Ferreira Sobral Departamento do Informática Universidade do Minho
Computação Paralela Especificação de Concorrência/Paralelismo João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Especificação de Concorrência/Paralelismo Baseada
Leia maisUniversidade Federal de São Carlos Departamento de Computação. Sistemas Operacionais. Sincronização de Threads no Windows
Universidade Federal de São Carlos Departamento de Computação Sistemas Operacionais Sincronização de Threads no Windows Padrões de Projeto com Thread Vantagens do uso de padrões no projeto com threads:
Leia maisConceitos básicos de programação
Constantes class Exemplo { static void Main() { float fahr, celsius; int lower, upper, step; lower = 0; /* limite inferior da tabela de temperaturas */ upper = 300; /* limite superior */ step = 20; /*
Leia maisProgramação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
Leia maisProgramação Orientada a Objetos SANTOS, Rafael (PLT)
Programação Orientada a Objetos SANTOS, Rafael (PLT) Possibilita atribuições em sequência na mesma instrução Retorna o valor atribuído Atribuições compostas: incluem a própria variável: +=, *=, -=, etc
Leia maisThreads em Java. Sistemas Operacionais - Laboratório Professor Machado
Threads em Java Sistemas Operacionais - Laboratório Professor Machado 1 Conceitos de Programação Concorrente Uma unidade concorrente é um componente de um programa que não exige a execução seqüencial,
Leia maisTRATAMENTO DE EXCEÇÕES
Uma exceção em Java é um sinal que alguma condição excepcional aconteceu; Algo de errado aconteceu! Exemplos: solicitação de abertura de um arquivo não encontrado; índice de um array fora de faixa; uma
Leia maisProfessor: Douglas Sousa Cursos de Computação
Linguagem de Programação C# Professor: Douglas Sousa Cursos de Computação Agenda Conceitos Básicos; Principais Características; Visual Studio; Meu Primeiro Programa; A Linguagem C#; Sistemas de Tipos;
Leia maisProgramação de Computadores II TCC /Turma A 1
Programação de Computadores II TCC 00.174/Turma A 1 Professor Leandro A. F. Fernandes http://www.ic.uff.br/~laffernandes Conteúdo: Tratamento de exceções Material elaborado pelos profs. Anselmo Montenegro
Leia maisInterfaces e Classes Internas
e Classes Internas SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade
Leia maisParalelismo em Computadores com Tecnologia Multicore
IFRN - Pau dos Ferros Pau dos Ferros/RN, 25 de fevereiro de 2016 O minicurso Descrição: Para se utilizar os vários núcleos de processamento disponíveis nos computadores atuais de forma eficiente, faz necessário
Leia maisThreads e Sockets em Java. Threads em Java. Programas e Processos
Threads em Java Programas e Processos Um programa é um conceito estático, isto é, um programa é um arquivo em disco que contém um código executável por uma CPU. Quando este programa é executado dizemos
Leia mais1 - O que será impresso quando o seguinte programa escrito na linguagem JAVA for compilado e executado?
1 - O que será impresso quando o seguinte programa escrito na int i; do i++; while(i < 0); System.out.println(i); a) O programa não compila pois a variável i não foi inicializada. b) O programa compila,
Leia maisUniversidade da Beira Interior. Sistemas Distribuídos
Folha 6-1 Sincronização de Threads A sincronização de Threads em Java é baseada no conceito do Monitor (de Hoare). Cada objecto Java tem associado um monitor (ou lock ) que pode ser activado se a palavra
Leia maisThreads. Linguagem Java. Adenilso da Silva Simão 17/05/05
17/05/05 Uma thread é uma linha de execução dentro de um programa Conceito de SO Java implementa suporte nativo a threads Duas formas de se implementar Implementando a interface Runnable Deve-se sobrepor
Leia maisTratamento de Exceções
Fundamentos de Programação Tratamento de Exceções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br O que é??? É um evento que interrompe o fluxo normal de
Leia maisPADI 2015/16. Aula 1 Introdução à Plataforma.NET
PADI 2015/16 Aula 1 Introdução à Plataforma.NET 1 Sumário 1. Framework.NET Arquitectura 2. Linguagem C# 2.0 Sintaxe C# vs. Java vs. C++ 3. IDE: MS Visual Studio 2005 ou superior Ferramentas Console/Win
Leia maisMódulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão
Educação Módulo Lógica e Ética de Programação com aplicações em Java Projeto khouse Profissionalizante Profª Larissa Brandão Educação e Ética Fundamentos da Programação Objetivos: Reconhecer as diferenças
Leia maisCurso Adonai QUESTÕES Disciplina Linguagem JAVA
1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String
Leia maisJava : Comunicação Cliente-Servidor.
Java : Comunicação Cliente-Servidor. Objetivo: Capacitar o aluno a desenvolver uma aplicação servidora para múltiplos clientes. Apresentar as classes Socket e ServerSocket, classes de fluxo de dados, a
Leia mais[Magee 1999] Concurrency State Models and Java Programs, Jeff Magee, Jeff Kramer, John Wiley 1999.
Programação Concorrente [Magee 1999] Concurrency State Models and Java Programs, Jeff Magee, Jeff Kramer, John Wiley 1999. [Gosling] The Java Language Specification James Gosling, Bill Joy and Guy Steele,
Leia maisLinguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos
Leia maisINE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO
INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (a) (Verdade/Falso) A comunicação entre processos consiste em transmitir uma mensagem entre o
Leia maisBroadcastReceiver. O que são mensagens broadcasts? Use notificações! (Serão explicadas em breve)
Broadcast Receiver BroadcastReceiver Chamado pelo Android para reagir a mensagens broadcast Usado para executar tarefas rápidas em segundo plano Não interromper o usuário por meio de activities Use notificações!
Leia maisIntrodução ao C# com o Microsoft Visual Studio Community 2015
José Roberto Madureira Junior Adaní Cusin Sacilotti Adriana Rodrigues Reginaldo Sacilotti Introdução ao C# com o Microsoft Visual Studio Community 2015 Primeira Edição São Paulo 2016 Sumário 1 INTRODUÇÃO
Leia maisOO Engenharia Eletrônica
OO Engenharia Eletrônica - Programação em C/C++ Slides 18: Introdução à Multithreading. Introdução à Multithreading: execução concorrente de tarefas. Exemplos usando a biblioteca C Run-time library. Prof.
Leia maisLabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada...
LabSO Gerência de Processos Retrospectiva da aula passada... AULA 4 Flávia Maristela (flavia@flaviamaristela.com) Romildo Martins (romildo@romildo.net) Na aula passada... Processos Estados do processo
Leia mais