On Wed, May 19, 2021 at 2:32 PM Bill Li <zhl...@gmail.com> wrote: > .... > > Upon adding the block, I was able to make multiple threads executing > onNext() concurrently. > > I am just curious about whether this is the right way of doing > synchronization. From the best practice perspective, what is the best way > of doing synchronization? >
Your code should work since you are synchronizing on *serverCallStreamObserver* which is being used in multiple threads. I can't think of anything better in this particular case. Is multithreading a common thing to do or recommended when calling onNext()? > Most non-trivial applications would use multiple threads and they should be able to use gRPC streams with appropriate synchronization in place (as you have done above). Another (and a better?) way to do this would be to use a Queue and have a single thread reading from the Queue to feed the responseObserver and your producer threads feeding the Queue. > > Thanks, > Bill > > On Wednesday, 19 May 2021 at 01:47:54 UTC-4 sanjay...@google.com wrote: > >> Pls include a code snippet of what you want to do. Show how you intend to >> share "one ResponseObserver". >> >> On Tue, May 18, 2021 at 6:56 PM Bill Li <zhl...@gmail.com> wrote: >> >>> Got it, thanks! >>> >>> I am currently implementing a server-side streaming application. Can one >>> ResponseObserver be shared by multiple threads sending response stream back >>> to the client through onNext() method? Just want to confirm if there is a >>> race condition in calling onNext() at the same time. >>> >>> On Tuesday, 18 May 2021 at 19:28:43 UTC-4 sanjay...@google.com wrote: >>> >>>> With NettyServerBuilder you can use maxConcurrentCallsPerConnection(int >>>> maxCalls) >>>> <https://github.com/grpc/grpc-java/blob/master/netty/src/main/java/io/grpc/netty/NettyServerBuilder.java#L397> >>>> >>>> >>>> This is the same as setting MAX_CONCURRENT_STREAMS per connection. >>>> >>>> On Tue, May 18, 2021 at 3:36 PM Bill Li <zhl...@gmail.com> wrote: >>>> >>>>> Hi, >>>>> >>>>> Does anyone know or have an example for configuring the parameter >>>>> MAX_CONCURRENT_STREAMS for gRPC server written in Java? >>>>> >>>>> Thanks, >>>>> Bill >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "grpc.io" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to grpc-io+u...@googlegroups.com. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/grpc-io/cbb2fd35-a01a-4128-879d-08cbc91049b0n%40googlegroups.com >>>>> <https://groups.google.com/d/msgid/grpc-io/cbb2fd35-a01a-4128-879d-08cbc91049b0n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "grpc.io" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to grpc-io+u...@googlegroups.com. >>> >> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/grpc-io/0eb808f0-b1e0-4b5f-86e6-ffa15b7149d8n%40googlegroups.com >>> <https://groups.google.com/d/msgid/grpc-io/0eb808f0-b1e0-4b5f-86e6-ffa15b7149d8n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > You received this message because you are subscribed to the Google Groups " > grpc.io" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to grpc-io+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/grpc-io/065aecd9-0190-4bde-8a91-aae0edc2a0e5n%40googlegroups.com > <https://groups.google.com/d/msgid/grpc-io/065aecd9-0190-4bde-8a91-aae0edc2a0e5n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/CA%2BPad6h2ng_mepX29y3FOkQYSzG5eZAeAMTnbcOVHvFTRtyvZA%40mail.gmail.com.