This is probably a broad question but I'd like to know where concurrency is typically used for a mono user desktop application. How do you spot a case (at design stage, ideally) where concurrency issues might arise?
P.S: From OS theory, I'd say concurrency issues usually take place when a resource can't be shared (ex: printer). I'm still foggy on where this could take place on the programming level though.