2012-10-05 3 views
1

Je programme en Java. J'ai un pool de travaux (BlockingQueue), et certains threads surveilleront ce pool. Quand il y a un nouveau travail, les threads vont essayer de prendre ce travail. Le travail effectue certaines tâches. Je ne souhaite donc pas que le système d'exploitation prenne le processeur pour d'autres threads lorsque ce travail n'est pas terminé. Cela signifie que je veux mon travail en tant que travail atomique.Comment écrire une fonction atomique en Java?

+0

Écrire en Java et vouloir prendre le contrôle du CPU. La question n'est pas très claire. – Jayan

Répondre

4

Je ne pense pas que ce soit possible. Vous ne pouvez pas modifier la planification du processeur au niveau du système d'exploitation à partir du code Java. Le mieux que vous pouvez faire est de donner une haute priorité à votre fil. Mais reculez d'une minute. Que voulez-vous en le rendant ATOMIC? Java assure la synchronisation pour s'assurer qu'un autre thread n'entrera pas dans un certain bloc de code alors qu'un thread est dedans.

+0

Cher Sammer, J'ai eu votre idée. Je vais essayer d'utiliser la synchronisation pour résoudre ce problème. Merci beaucoup! – kop

Questions connexes