These are chat archives for u3games/L2J_EventEngine

8th
Jul 2015
fissban
@fissban
Jul 08 2015 05:03
la lista de instancias esta echa para eventos como OVO q se crean una instancia cada 2 usuarios
y no es necesaria una sincronizacion....la instancias se crean en 1 solo paso y luego son accedidas segun lo necesario
pero nada q requiera sincronizacion
....pense q a estas alturas ya abrian llevamo mi rama al master, bueno ya queda menos para q vuelve y pueda terminar este engine
U3Games
@u3games
Jul 08 2015 08:24
primero estamos intentado completarlo lo más posible y luego trasladamos todo
fissban
@fissban
Jul 08 2015 11:45
8 dias mas y pdre seguir trabajando en el
me alegra q les agrade mi diseño
Lucas
@luksdlt92
Jul 08 2015 11:59
@fissban no veo bien que las instancias estén almacenadas en el EventEngineManager en vez de cada instancia de evento, a menos que OVO cree una instancia por partida (cosa que dudo)
no podemos llevar nada a master porque hace unos días el engine en sí no era funcional, las configs no se cargaban con el parser nuevo
hubo que arreglar eso y bueno, ya que estamos hacemos otros cambios para que quede mejor
respecto a la sincronización de votos, por qué no tienen que sincronizarse? estás accediendo y modificando la misma estructura de datos desde varios threads diferentes
(todos los jugadores que sumen un voto desde el npc + los deslogins que borran votos si habían votado ya)
Lucas
@luksdlt92
Jul 08 2015 12:04
por otra parte, tu implementación de sincronización, a mí entender, estaba mal hecha
estabas sincronizando el getter a una variable compartida y no el setter
las cosas que se acceden simultaneamente solamente (porque se inicializaron y no se tocan más) no necesitan ser sincronizadas
en este caso se accede y además se modifica constantemente
si hubiera habido un synchronized también cuando se modifica la variable, estaba relativamente bien, pero no era el caso
de cualquier forma, es mejor usar la estructura thread-safe que provee java, ya algún cerebrito la optimizó
fissban
@fissban
Jul 08 2015 12:07
para q sincronizar cuando se realiza el voto? solo necesito q este sinronizado cuando lo quiero leer...ese fue mi rasonamiento.
Lucas
@luksdlt92
Jul 08 2015 12:07
no
tenés un concepto erroneo de la sincronizacion
fissban
@fissban
Jul 08 2015 12:07
el ovo si crea una instancia diferente por partida
Lucas
@luksdlt92
Jul 08 2015 12:07
la sincronizacion es cuando tenes una condicion de carrera
fissban
@fissban
Jul 08 2015 12:07
osea se crea una instancia cada 2 participantes
Lucas
@luksdlt92
Jul 08 2015 12:07
es a nivel cpu el problema
cuando sumas o modificas una variable, eso involucra más de una instrucción a nivel cpu
al ser multi-thread
fissban
@fissban
Jul 08 2015 12:08
y puede ser...es la falta de estudio :P
Lucas
@luksdlt92
Jul 08 2015 12:08
el sistema operativo puede darle el control a un thread, cuando está a mitad de esas instrucciones
o sea, cuando todavía no terminó de cambiar una variable, por ejemplo
fissban
@fissban
Jul 08 2015 12:09
bueno me voy a desayunar y a vontinuar viaje q ahora me voy a salta
Lucas
@luksdlt92
Jul 08 2015 12:09
buen viaje, es una linda provincia
por algo le dicen la linda