{"id":7979,"date":"2018-03-22T17:30:47","date_gmt":"2018-03-22T20:30:47","guid":{"rendered":"https:\/\/www.mxcursos.com\/blog\/?p=7979"},"modified":"2019-03-16T20:38:57","modified_gmt":"2019-03-16T23:38:57","slug":"java-avancado-entendendo-programacao-concorrente","status":"publish","type":"post","link":"https:\/\/www.mxcursos.com\/blog\/java-avancado-entendendo-programacao-concorrente\/","title":{"rendered":"Java Avan\u00e7ado &#8211; Entendendo programa\u00e7\u00e3o concorrente"},"content":{"rendered":"<p>Primeiro de tudo, n\u00e3o adianta falar o contr\u00e1rio, o Java veio para ficar e pronto. De Smart Tv a servidores, de smartphones a geladeiras inteligentes, tudo isso tem Java.<\/p>\n<p>Inclusive o Android que j\u00e1 \u00e9 o sistema operacional mais usado do mundo, utiliza esta linguagem com nome de ilha.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/www.mxcursos.com\/blog\/wp-content\/uploads\/2018\/03\/thread.png\" alt=\"\" width=\"508\" height=\"301\"><\/p>\n<p>Ent\u00e3o se voc\u00ea programador(a) est\u00e1 se especializando, concorda com isso e est\u00e1 lendo este artigo em busca desse conhecimento.<\/p>\n<p>Provavelmente, voc\u00ea j\u00e1 conhece o b\u00e1sico como <em>vari\u00e1veis<\/em>, <em>m\u00e9todos<\/em>, <em>classes<\/em>, <em>palavras reservadas<\/em>, etc. J\u00e1 est\u00e1 mais na frente conhecendo <em>Garbage<\/em> <em>Colector<\/em>, <em>Tratamento<\/em> <em>de<\/em> <em>Exce\u00e7\u00f5es<\/em>, <em>Algoritmo<\/em> <em>de<\/em> <em>Bolha<\/em>, etc;<\/p>\n<p>Voc\u00ea est\u00e1 no caminho certo, mas precisa se aprofundar em Java com <strong><em>Annotions, Sockets, JUnit, Threads<\/em> <\/strong>e outros.<\/p>\n<h2>Programa\u00e7\u00e3o Concorrente no Java<\/h2>\n<p>E por falar em Threads (tarefas), vamos falar aqui sobre o assunto que utiliza essas tarefas, a <em>Programa\u00e7\u00e3o Concorrente<\/em>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-15428\" title=\"Processador de mais de um n\u00facleo para usar Java\" src=\"https:\/\/www.mxcursos.com\/blog\/wp-content\/uploads\/2018\/03\/processor.jpeg\" alt=\"\" width=\"619\" height=\"257\" srcset=\"https:\/\/www.mxcursos.com\/blog\/wp-content\/uploads\/2018\/03\/processor.jpeg 740w, https:\/\/www.mxcursos.com\/blog\/wp-content\/uploads\/2018\/03\/processor-600x249.jpeg 600w, https:\/\/www.mxcursos.com\/blog\/wp-content\/uploads\/2018\/03\/processor-24x10.jpeg 24w\" sizes=\"(max-width: 619px) 100vw, 619px\" \/><\/p>\n<p><strong>A Programa\u00e7\u00e3o concorrente \u00e9 aquela que divide a tarefa a ser executada em partes<\/strong>, \u00e9 o famoso \u201cdividir para conquistar\u201d.<\/p>\n<p>Por isso, o programador divide a tarefa em pequenas outras tarefas para no fim conseguir executar todo o c\u00f3digo.<\/p>\n<p>Como hoje em dia processadores com mais de um n\u00facleo j\u00e1 s\u00e3o realidade, faz todo sentido dividir o c\u00f3digo em tarefas menores para cada n\u00facleo.<\/p>\n<h2>\u00a0Classe Thread<\/h2>\n<p>Com os Threads conseguimos <strong>aproveitar o tempo ocioso da CPU com a t\u00e9cnica de Hyper Threading<\/strong>.<\/p>\n<p>Como resultado, o Java utilizar\u00e1 especificamente a classe Thread e v\u00e1rios m\u00e9todos como syncronized, sleep, notify e outros para trabalhar com programa\u00e7\u00e3o concorrente.<\/p>\n<p>Al\u00e9m da vantagem do \u201cdividir para conquistar\u201d, a programa\u00e7\u00e3o concorrente tamb\u00e9m permite <strong>avisar ao Java caso uma tarefa seja mais importante em termos de prioridade do que outra<\/strong>.<\/p>\n<p>Consequentemente, voc\u00ea, programador, poder\u00e1 dividir o c\u00f3digo em v\u00e1rias partes e ainda especificar um grau de prioridade para cada parte, para a CPU executar na ordem que ele desejar.<\/p>\n<p>Ent\u00e3o, voc\u00ea gosta de programa\u00e7\u00e3o? Est\u00e1 investindo tempo na linguagem Java?<\/p>\n<p>Voc\u00ea com certeza est\u00e1 indo no caminho certo e vai gostar de aprofundar os seus conhecimentos nessa poderosa Linguagem.<\/p>\n<p>Boa sorte!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Primeiro de tudo, n\u00e3o adianta falar o contr\u00e1rio, o Java veio para ficar e pronto. De Smart Tv a servidores, de smartphones a geladeiras inteligentes, tudo isso tem Java. Inclusive o Android que j\u00e1 \u00e9 o sistema operacional mais usado do mundo, utiliza esta linguagem com nome de ilha. Ent\u00e3o se voc\u00ea programador(a) est\u00e1 se [&hellip;]<\/p>\n","protected":false},"author":67,"featured_media":15425,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1178],"tags":[],"class_list":["post-7979","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacao"],"_links":{"self":[{"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/posts\/7979","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/users\/67"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/comments?post=7979"}],"version-history":[{"count":0,"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/posts\/7979\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/media\/15425"}],"wp:attachment":[{"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/media?parent=7979"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/categories?post=7979"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/tags?post=7979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}