When two threads actively compete to acquire an entire resource, where both already hold parts of it without releasing it, we get a livelock. A livelock costs CPU time since the threads competing for the resource do not sleep, but rather make repeated failed attempts to acquire the resource.
See also Deadlock.