1. A barrier for synchronizing program threads for a plurality of processors comprising: a filter configured to be coupled to a plurality of processors executing a plurality of threads to be synchronized; and in which said filter is configured to monitor and selectively block fill requests for instruction cache lines.