Articles of multithreading

Início do processo asynchronous e aguarde que ele termine

Eu sou novo no modelo de thread em .net. O que você usaria para: inicia um processo que manipula um arquivo (process.StartInfo.FileName = fileName;) esperar o usuário fechar o processo OU abandonar o thread depois de algum tempo Se o usuário tiver fechado o processo, exclua o arquivo Iniciando o processo e aguardando deve ser […]

Executores Java: como posso definir a prioridade da tarefa?

Existe a possibilidade de definir prioridade para tarefas executadas por Executores? Eu encontrei algumas declarações no JCIP sobre isso é possível, mas não consigo encontrar nenhum exemplo e não consigo encontrar nada relacionado em documentos. Do JCIP: Uma política de execução especifica o “o quê, onde, quando e como” da execução da tarefa, incluindo: … […]

Como cancelar o futuro em Scala?

O Java Future tem o método cancel , que pode interromper o encadeamento, que executa a tarefa Future . Por exemplo, se eu envolver uma chamada de bloqueio interruptível em um Java Future , posso interrompê-la mais tarde. O Scala Future não fornece um método de cancel . Suponha que eu envolva uma chamada de […]

Especificação Java EE e multi-threading

Eu estou escrevendo um aplicativo Java EE usando Struts e Spring. Em uma das operações, há um processamento pesado de database e, portanto, problemas de desempenho. O que eu quero saber é que posso usar o multithreading aqui? Eu acho que a especificação Java EE não permite que segmentos personalizados sejam criados além daqueles criados […]

O thread do operador ++ é seguro?

NOTA: Eu realmente não sou muito bom em programação multithreaded, mas meu projeto atual me fez fazer isso, então estou tentando entender o que é thread safe e o que não é. Eu estava lendo uma das respostas impressionantes de Eric Lippert sobre o que eu faço . Ele diz que isso é o que […]

Devo usar instâncias ScriptEngine e CompiledScript separadas para cada thread?

Meu programa usa o Java Scripting API e pode avaliar alguns scripts simultaneamente. Eles não usam objects de script compartilhados, Bindings ou Context, mas podem usar os mesmos objects ScriptEngine e CompiledScript . Vejo que a implementação do Oracle Nashorn no Java 8 não é multithreaded, ScriptEngineFactory.getParameter(‘THREADING’) retorna null sobre o qual a documentação diz: […]

Como você consulta um pthread para ver se ainda está em execução?

No meu destruidor, quero destruir um thread de forma limpa. Meu objective é esperar que um thread termine de executar e, em seguida, destrua o thread. A única coisa que eu encontrei sobre a consulta do estado de um pthread é pthread_attr_setdetachstate, mas isso só diz se o seu segmento é: PTHREAD_CREATE_DETACHED PTHREAD_CREATE_JOINABLE Ambos não […]

Como criar uma tarefa (TPL) executando um segmento STA?

Usando Thread é bastante simples Thread thread = new Thread(MethodWhichRequiresSTA); thread.SetApartmentState(ApartmentState.STA); Como realizar o mesmo usando tarefas em um aplicativo WPF? Aqui está algum código: Task.Factory.StartNew ( () => {return “some Text”;} ) .ContinueWith(r => AddControlsToGrid(r.Result)); Estou recebendo um InvalidOperationException com O segmento de chamada deve ser STA, porque muitos componentes de interface do usuário […]

STAThread e multithreading

No artigo do MSDN sobre STAThread: Indica que o modelo de thread COM para um aplicativo é single-threaded apartment (STA). (Para referência, esse é o artigo inteiro .) Apartamento single-threaded … OK, isso passou por cima da minha cabeça. Além disso, eu li em algum lugar que, a menos que seu aplicativo use interoperabilidade COM, […]

Tentativa de ler ou gravar memory protegida. Isso geralmente é uma indicação de que outra memory está corrompida

Espero que alguém possa me esclarecer sobre o que poderia estar causando esse erro: Tentativa de ler ou gravar memory protegida. Isso geralmente é uma indicação de que outra memory está corrompida. Eu realmente não posso postar código porque esse erro parece ser jogado em qualquer área aleatória do aplicativo. O aplicativo será executado em […]