2012-02-06 11 views
18

me gustaría que puedo conseguir el código de ejemplo más simple posible, que mostrará cómo utilizar LMAX disruptor (http://code.google.com/p/disruptor/).El código de ejemplo más simple y efectiva de LMAX disruptor

Lamentablemente, cada pieza del código está desactualizada. ¿Alguien sabe, dónde puedo encontrar un método pequeño y actualizado (preferiblemente sin DSL)?

Respuesta

15

puede ver el ejemplo aquí.

http://code.google.com/p/disruptor/wiki/CodeExampleDisruptor2x

me han hecho un ejemplo sencillo mediante el uso de la wiki anteriormente. Espero que esto te ayude.

+2

Ese código de ejemplo es anticuado, la ValueEntry puede no encuentra en disruptor 2.10, donde se puede encontrar la más reciente DISR código de ejemplo uptor, si 2.8+ es mejor! Gracias! – LiuTiger

+0

ValueEvent no es una clase de biblioteca disruptiva. Es su clase la que se usa para "retener" su evento o mensaje real. La fábrica de eventos se utiliza para pre-crear instancias de ValueEvent y poner en el buffer de anillo. Cuando aparece su mensaje o evento, obtiene una de las instancias creadas, configura su mensaje y dice publicar. Luego, el buffer de anillo lo envía a los manejadores. – Abe

19

Aquí es un simple, ejecutable, ejemplo de cómo utilizar la biblioteca disruptor. El ejemplo está escrito en Java utilizando la versión 2.10.4 de la biblioteca Disruptor.

https://github.com/trevorbernard/disruptor-examples

+0

excelente ejemplo. Me pillaron pasando los ValueEvents entre hilos sin darme cuenta de que el buffer los reciclaba. Le he enviado una solicitud de extracción con algunos comentarios a tal efecto para que la gente pueda aprender de mi error. – simbo1905

+0

ejemplo impresionante – nilesh