The difference between the bucket and barrier constructs is that in the former all processes are blocked until another (external) process decides to release them, by "flushing the bucket."
One specific barrier to wider adoption of the electric bus must be the external demand of operators for "unlimited" mileage - that is, for vehicles (i. e. diesel engines) with total flexibility.