Urgent.News

What's breaking now, across thousands of outlets.

Tech

Como criar tarefas concorrentes no Java, feito por quem se preocupa com os recursos e performance

Este post nasce de uma preocupação que tenho levado cada vez mais a sério: entender como cada parte do código realmente impacta o uso de recursos. Também tenho usado IA como ferramenta de estudo, principalmente para conseguir acompanhar tanta coisa nova sendo lançada sem perder o foco no que realmente quero aprender. Este e outros textos que venho escrevendo também servem como um compromisso…

Original Portuguese Read in English

No post, o autor fala sobre a importância de compreender como cada parte do código impacta o uso de recursos e performance. Ele discute o projeto Loom no Java, que introduziu threads controladas pela JVM que são muito mais leves do que as threads tradicionais, permitindo que threads não precisem passar o controle para o kernel durante IO e que possam dormir esperando pela resposta de um socket de rede.

O autor também explora a dificuldade de criar vínculos de tarefas paralelas no Java e a necessidade de cancelar e parar tarefas sem sobrecarregar recursos ou segurar recursos desnecessários. Ele apresenta o cenário de autorização de cartão, onde é necessário executar várias tarefas em paralelo e garantir que todas sejam bem-sucedidas ou nenhuma seja.

Para resolver esse problema, o autor apresenta a StructuredTaskScope, que traz o parentesco necessário para que as tarefas sejam executadas de forma coordenada. Ao usar StructuredTaskScope, você pode garantir que se uma tarefa falhar, as outras tarefas serão interrompidas sem a necessidade de polling e espera. Além disso, o try-with-resources já resolvia o problema de recursos para o Java, e a StructuredTaskScope oferece essa mesma funcionalidade para tarefas.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Numbers Do Not Belong in the Model

A missing number gets noticed. A wrong one does not. That single asymmetry is why reading documents with a language model has to be treated differently from writing text with one.

  • Numbers in language models require special attention and treatment.
  • Multi-digit numbers often split into individual units during tokenization.
  • Recommended solution involves extracting numbers from raw document before model involvement.

RAG security: the retrieved document is now your attack surface

Cross-post. Original: stellarbytecapital.com/blog/rag-security Retrieval-augmented generation is the default way to make an LLM useful on your own data: fetch relevant documents, stuff them into the…

  • Retrieval-augmented generation introduces untrusted data into language models.
  • Malicious instructions in indexed sources can be executed with app authority.
  • Securing RAG pipeline requires access control, tainted data treatment, and output guarding.

More from Tuesday 1 September →