però, permettimi una considerazione e magari sbaglio: il thread1 apre il file quindi fp è assegnato e il file risulta bloccato; viene data la CPU al secondo thread2 il quale apre ovviamente il medesimo file nella stessa posizione: non dovrebbe bloccarsi tutto con un errore di violazione?