This is only done for code where running it twice would actually cause a problem. Dispatch_once is favored over a static boolean only because it seems to carry slightly more semantic information.