How does sklearn random forest decide feature threshold at node splitting exactly?
After some searching, I found this source code:
https://github.com/scikit-learn/scikit-learn/blob/7813f7efb5b2012412888b69e73d76f2df2b50b6/sklearn/tree/_splitter.pyx#L467
I think, but am not 100% sure as my code comprehension is imperfect, that:

Yes
x_0 = (a+b)/2, where a is the nearest neighbor to the left and b is the nearest neighbor to the right