My response is inline.....

On Monday, September 12, 2016 at 4:13:10 PM UTC-4, Tamás Gulácsi wrote:
>
> TL;DR
> I know what concurrency is.
>

ok, but I wasn't explaining concurrency to you.

If you're referring to the paragraph about the cars, I was explaining why 
your answer was incorrect. I was not explaining concurrency.

If you're referring to my comments about the map (following my "Please 
clarify....." statement), I was simply setting up the scenario I was facing 
and was asking for clarification as to where I may have made a mistake. I 
was, again, not explaining concurrency to you.
 

> For a map access, if you hold the lock for as few instructions as 
> possible, it shouldn't hurt much.
>

You either didn't understand the paragraph about the cars or you didn't 
read it. Much of what I wrote was explaining why this isn't necessarily the 
case. In my case, running goroutines to avoid users blocking each other and 
then setting up a bottleneck undermines the point in using goroutines 
because they all have to wait for each other anyway to complete their 
goroutines.
 

> If you're after an idea of the best solution, that will be harser - maybe 
> not a map is the best answer for your specific use case, but a slice. Or a 
> slice of maps with hashed access.
> Or just copy the map before read it, and swap the whole map after a change.


I'm not sure I understand your suggestions here. As far as I know, the only 
structure in golang that allows one to use a string as a key would be a map.


> If you can write down the access to the innermost element of your 
> multidimensional map as m[a][b][c][d], then you know that you won't have 
> more than four levels, so you can use a map[[4]string]string.
>

I spent about an hour or two trying to get this suggestion to work. I 
clearly don't properly understand what you're suggesting.
 

> If you want an unbounded level, then first please define the equality on 
> them, to be able to use them as map keys!
>

I don't understand what you mean by "define the equality" on them. I was 
under the impression that Golang has strictly defined equality.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to