Windows and also Solaris Unix have system calls for busy waiting (so you don't have to write the code yourself). These are also called "spin locks".
Generally, these should be used only in special situations and typically when the machine in use has multiple processors.
In other cases, a process should wait by blocking so that processor cycles are not wasted.
To get processes to actually block requires using either directly or indirectly a system call, since only the kernel can directly manage a process. That is, a process may block itself by making an approriate system call.