Je code suivant:StringBuffer ou méthode synchronisée?
public class MyLogger {
private StringBuilder logger = new StringBuilder();
public void log(String message, String user) {
logger.append(message);
logger.append(user);
}
}
Le programmeur doit garantir qu'un seul objet myLogger fonctionne correctement pour un système multi-thread. Comment ce code doit-il être modifié pour être compatible avec les threads?
A. synchronisent la méthode du journal
B. remplacer StringBuilder
avec StringBuffer
S'il vous plaît conseiller la meilleure approche.
Donc, ce accumule dans l'enregistreur, quel est le point ? –
Je n'utiliserais probablement pas non plus, préférant une instance de classe 'LogEntry' qui contient une copie des deux chaînes et une commande à un thread de journalisation qui attend à la fin d'une file d'attente de blocage. –