program uppg3a.c:
Detta program ger oftast deadlock. vilket menas med att varje tråd väntar på en resurs som redan är låst
och samtidigt har själv låst en resurs,vilket orsakar den här cykliska väntan. I koden kan man se att
tråd tf1 sover en slumpad tid sedan låser resurs m1. Samtidigt så kör tråd tf2 som även sover en slumpad tid,
sedan låser resurs m2. När båda trådarna har låst en resurs, sover de även 1 sekund. Detta gör så att de båda hinner låsa in en resur var.
Enligt manualsidan för pthread_mutex_lock står det att om en resurs har blivit låst kommer den anropade
tråden att blockes tills att mutexen har blvivt ledig, vilket inte händer då varje tråd har vad den andra tråden behöver.
Detta är orsaken till att trådarna fastnar i en deadlock. Det står även i manualsidan att endast pthread_mutex_unlock()
kan låsa upp den mutex objekt som man refererade till.

program uppg3b.c
I detta program så används det mutex_try_lock. Detta gör så att när trådarna körs, så låser de var sin resurs.
Sedan testar trådarna att låsa nästa resurs och om denna resurs är låst så låses den första resursen upp.
Alltså behöver inte trådarna hålla fast en resurs om den inte kan få nästa resurs.
Enligt manualsidan för pthread_mutex_trylock så fungerar den som pthread_mutex_lock(), fast om mutex objektet
som man vill låsa redan är låst, kommer den att returernas

