[TOMCAT] Race Condition con le SOAP usando tomcat

  • Creatore Discussione Creatore Discussione ITobeI
  • Data di inizio Data di inizio

ITobeI

Nuovo Utente
21 Giu 2015
2
0
1
Salve a tutti sono nuovo ed ero indeciso in quale sezione inserire questo topic, se in programmazione o qui, chiedo scusa se ho sbagliato.

Sto utilizzando TOMCAT per gestire le servlet con apache come web server e poi utilizzo l'approccio SOAP nel quale ho definito un servizio che contiene varie risorse condivise.
Tali risorse per esempio una variabile booleana chiamata x. Questa variabile x viene letta da tutti i web client e scritta da solo uno specifico web client ( admin ) , quindi è un classico problema di lettore scrittore ma in particolare a me non interessa se i lettori leggono in maniera sbagliata questa variabile ( se leggono true o false non importa, l' importante è che lo scrittore possa scrivere immediatamente quando vuole ).

Questa cosa l'ho realizzata semplicemente non utilizzando nulla, nè synchronized nè semafori nè soluzini con semafori per lettori/scrittori ma semplicemente con un metodo setX( boolean b ) che non fa altro x=b; e un metodo getX() che non fa altro che return x;

Domanda: se non inserisco semafori o costrutti synchronized e realizzo metodi come ho descritto sopra, la variabile X viene comunque gestita in mutua esclusione? o i vari thread delle http request, sia dei scrittori sia dei lettori, opereranno contemporaneamente?

Domanda: in generale anche se a me non importa se un lettore legga true o false, bisogna comunque risolvere la soluzione lettore/scrittore con semafori? Questo perchè comunque può portare ad un errore quando un lettore legge mentre lo scrittore scrive?

Vi ringrazio anticipatamente
 

Discussioni simili