Complex sentence: The reason for this design is that creating new threads tends to result in avoidable overheads; for example, general-purpose thread schedulers must deal with blocking for locks, but in the fork--join paradigm, threads only block at the join barrier.
Split into simpler sentences: The reason for this design is that creating new threads tends to result in avoidable overheads. For example, general-purpose thread schedulers must deal with blocking for locks, but in the fork--join paradigm, threads only block at the join barrier.