Melhorar a qualidade de vida das pessoas por meio da transformação digital das organizações e da inclusão tecnológica.
VisãoSer um dos líderes digitais mais inovadores da América Latina.
Saber mais
Sofis Solutions nasceu em 2005, na cidade de Montevidéu - Uruguai.
Desde a sua criação, a o principal impulsionador foi e continua sendo a qualidade.
Isso se aplica a processos, produtos e relacionamentos com o meio ambiente.
O internacionalização da empresa Esse era um dos objetivos da fundação. Numa primeira fase, expandiu-se a partir do Uruguai e, numa segunda fase, abriu escritórios em países da América Latina. Atualmente, possui escritórios em Montevidéu, Panamá, El Salvador e Equador.
CMMI-DEV-3
Mais informaçõesPrêmio Nacional de Qualidade
Mais informaçõesISO 9001:2015
Sistema de Gestão da QualidadeISO 37001:2016
Sistema de Gestão AntissubornoISO 14001:2015
Sistema de Gestão AmbientalSofis Solutions integra princípios ambientais, sociais e de governança (ESG) em sua gestão e operação, promovendo a sustentabilidade por meio da Transformação Digital. Sua abordagem estratégica prioriza a eficiência energética, a inclusão digital e a transparência no governo digital, contribuindo para o desenvolvimento responsável das organizações.
Patrulhas Digitais, Sistema Equatoriano de Informação Bovina, Easy Budget UY, Portfólio Digital, Aplicativo SIGES para Professores, Aplicativo SIGES para Pais.
Saber maisÉ uma iniciativa da Sofis Solutions, da Divisão de Soluções Inteligentes, que impulsiona a adoção da inteligência artificial como motor-chave para a eficácia e a efetividade na era inteligente.
Integra tanto processos administrativos quanto operacionais, promovendo uma evolução organizacional onde a tecnologia amplifica o conhecimento, otimiza decisões e gera valor de forma sustentável e inclusiva.
Mais informaçõesMontevidéu, 16 de junho de 2025.
Neste artigo, a Sofis Solutions analisa as vantagens e o impacto dos Virtual Threads introduzidos na JEP 444 do Java. Esse novo modelo permite criar threads leves e altamente eficientes, gerenciados diretamente pela Máquina Virtual Java (JVM), representando uma mudança significativa em relação às threads tradicionais.
A cada dia, as aplicações precisam processar volumes cada vez maiores de dados de forma simultânea e eficiente. O Java tem consciência dessa necessidade desde suas primeiras versões, implementando o uso de threads para executar tarefas concorrentemente conforme a quantidade de processadores disponíveis na CPU. No entanto, as threads tradicionais são recursos custosos: cada uma consome memória para sua pilha (stack) e depende do sistema operacional para o agendamento, o que pode levar a bloqueios e baixa escalabilidade. Para mitigar isso, adotaram-se técnicas como os pools de threads, nos quais os desenvolvedores precisavam gerenciar manualmente sua criação, reutilização e sincronização, o que aumentava a complexidade das aplicações.
A partir do Java 19 como prévia, e de forma estável no Java 21, foi introduzido um novo modelo chamado Virtual Threads (JEP 444). Essa abordagem propõe que a JVM, e não o sistema operacional, seja responsável por gerenciar o ciclo de vida das threads. Com isso, elimina-se a dependência direta dos recursos do sistema, permitindo criar milhões de threads leves que não bloqueiam recursos físicos enquanto estão em espera.
Em termos simples, uma Virtual Thread é uma thread Java gerenciada pela JVM, que se desacopla da thread do sistema operacional durante momentos de espera (por exemplo, uma operação de I/O bloqueante). Isso permite que muitas Virtual Threads compartilhem um número reduzido de threads de plataforma, alcançando muito mais escalabilidade com menor esforço. Além disso, mantém-se o modelo tradicional de programação com Runnable
, o que possibilita a migração de código existente sem grandes refatorações.
A criação de uma thread virtual é tão simples quanto o exemplo a seguir:
Runnable tarefa = () -> System.out.println("Executando em: " + Thread.currentThread()); Thread.startVirtualThread(tarefa);
Este trecho lança uma tarefa concorrente utilizando uma Virtual Thread — algo que, em versões anteriores, exigia mais configuração e gerenciamento manual. Internamente, a JVM cuida de toda a orquestração, liberando o desenvolvedor de se preocupar com detalhes de baixo nível.
As Virtual Threads melhoram significativamente a forma como programamos tarefas concorrentes em Java. O modelo é mais leve, mais fácil de usar e promete um desempenho superior em aplicações altamente concorrentes. Ainda há caminho a percorrer, especialmente na adaptação de bibliotecas que gerenciam suas próprias threads internamente, mas a direção é clara: o Java avança para um modelo de concorrência mais simples e poderoso, pronto para os desafios do software moderno.
Entre el 14 y el 16 de octubre de 2025, se celebró en Santiago de Chile el XI Foro de Contadurías Gubernamentales de América Latina (FOCAL), un espaci......
No âmbito da estratégia 2024-2025 do Pacto Global das Nações Unidas, que propõe cinco mudanças transformadoras para acelerar o impacto empresarial nos......
Em muitas organizações, o CRM (Customer Relationship Management) é o núcleo operacional do relacionamento com o cliente. No entanto, acessar as inform......