Your limit order may not execute even when the share price matches your order price because exchanges follow a price-time priority system. This means that when multiple orders exist at the same price level, the exchange executes them based on the time they were placed: first come, first served.
How price-time priority works
When you place a limit order, the exchange assigns it a timestamp that determines its position in the queue. If several traders place buy or sell orders at the same price, the exchange creates a queue and processes these orders in chronological order.