Articles of simultanéité

Pourquoi il n’y a pas de mots-clés de concurrence dans Kotlin?

Je plonge juste dans cette langue incroyable, et cette chose est frustrante pour moi. Pourquoi il n’y a pas de mots-clés pour la synchronisation? Jusqu’à présent, mes recherches ont abouti à une solution: vous enregistrez des classes de haut niveau et vous les utilisez pour gérer la concurrence … Etant donné un projet sur pure […]

Récupérer les valeurs de retour des goroutines

Je suis un débutant au golang, alors excusez-moi s’il s’agit d’une question très simple. Le code ci-dessous donne une erreur de compilation indiquant “Go inattendu”: x := go doSomething(arg) func doSomething(arg int) int{ … return my_int_value } Je sais, je peux récupérer la valeur de retour si vous appelez la fonction normalement, sans utiliser goroutine. […]

Comment un threadpool peut-il être réutilisé après l’arrêt

J’ai un fichier .csv contenant plus de 70 millions de lignes dont chaque ligne doit générer un Runnable puis être exécutée par threadpool. Ce Runnable insérera un enregistrement dans Mysql. De plus, je veux enregistrer une position du fichier csv pour le RandomAccessFile à localiser. La position est écrite dans un fichier. Je veux écrire […]

Comment puis-je exécuter plusieurs tâches dans Scala?

J’ai 50 000 tâches et je veux les exécuter avec 10 threads. En Java, je devrais créer Executers.threadPool (10) et passer runnable à est alors attendre pour traiter tout. Scala, si je comprends bien, utile pour cette tâche, mais je ne trouve pas de solution dans Docs.

Est-ce vraiment mon travail de nettoyer les ressources ThreadLocal lorsque les classes ont été exposées à un pool de threads?

Mon utilisation de ThreadLocal Dans mes classes Java, j’utilise parfois un ThreadLocal principalement pour éviter la création inutile d’objects: @net.jcip.annotations.ThreadSafe public class DateSensitiveThing { private final Date then; public DateSensitiveThing(Date then) { this.then = then; } private static final ThreadLocal threadCal = new ThreadLocal() { @Override protected Calendar initialValue() { return new GregorianCalendar(); } }; […]

Différence entre BlockingQueue et TransferQueue

Je suis un peu confus quant à la différence entre BlockingQueue / LinkedBlockingQueue et les nouveaux types TransferQueue / LinkedTransferQueue de jsr166y et java 7

Différence entre linéarisation et capacité de sérialisation

Je suis vraiment confondu avec la linéarisation et la sérialisation par rapport à la programmation Java. Pouvez-vous s’il vous plaît expliquer la différence entre ceux-ci avec un exemple ou fournir une bonne référence.

Est-il sûr de lire une variable entière modifiée simultanément sans verrouiller?

Supposons que je possède une variable entière dans une classe et que cette variable peut être modifiée simultanément par d’autres threads. Les écritures sont protégées par un mutex. Dois-je aussi protéger les lectures? J’ai entendu dire qu’il existe des architectures matérielles sur lesquelles, si un thread modifie une variable et qu’un autre thread le lit, […]

Quelle est la différence entre synchronized on lockObject et son utilisation comme verrou?

Je connais la différence entre la méthode synchronisée et le bloc synchronisé, mais je ne suis pas sûr de la partie de bloc synchronisée. En supposant que j’ai ce code class Test { private int x=0; private Object lockObject = new Object(); public void incBlock() { synchronized(lockObject) { x++; } System.out.println(“x=”+x); } public void incThis() […]

Permettant à cette référence de s’échapper

J’apprécierais l’aide pour comprendre ce qui suit à partir de “Java Concurrency in practice”: L’appel d’une méthode d’instance remplaçable (qui n’est ni privée ni finale) par le constructeur peut également permettre à cette référence de s’échapper. Est-ce que «échapper» signifie simplement que nous pourrions probablement appeler une méthode d’instance avant que l’instance soit entièrement construite? […]