You need to invoke the method on the ListView's UI thread, using Invoke (sync) or BeginInvoke (async). Assuming this code is run from within the owning form, this. should be ok, although listView1.Invoke is better imo.
Invoke takes a Delegate (
MSDN docs[
^]), and the version which doesn't take any extra parameters takes a
void delegate.
Also, Invoke blocks the calling thread until the call finishes, which shouldn't be an issue for such a simple case, but just to let you know.
Try
listView1.Invoke( ()=>listView1.Items[0].SubItems[0].Text = (fff++).ToString() );
(NB: I haven't actually tried using Invoke with lambdas. You may have to cast it or write an actual function.)