Wpis z mikrobloga

Mirki i Mirabelki. Mam kilka pytań odnośnie #programowanie w #python

Mój cały program to nieskończona pętla while, która sprawdza warunki i od tego uzależnia sterowanie.
1. Wielowątkowość - jeśli dobrze rozumiem, to zmienne globalne widziane są w każdym wątku i są takie same o ile któryś z wątków ich nie zmieni, ale jak je zmieni to wszystkie wątki zauważają tą zmianę? prawda/fałsz?

2. Jak, że moja pętla nie jest bardzo długa i przejście całej zajmuje mało czasu, a czas trwania programu w wątku jest dużo dłuższy, to ten wątek będzie wywoływany co pętla w programie głównym, czy jak już jest wywołany, to nie da się wywołać go kolejny raz zanim nie skończy działania? Przykład o godzinie 9:00 chcę zapalić żarówkę na 5 minut. W głównej pętli czas pobieram co obieg pętli, czyli powiedzmy co 2 sekundy. Jeśli wywołam wątek o 9:00 to będzie mi świeciła do 9:05, ale jeśli co obieg pętli będzie mi się wywoływał to będzie świeciła do 9:06. Pożądane jest działanie pierwsze.
Myślałem ewentualnie o ustawianiu jakiejś flagi wewnątrz wątku, tak aby była widoczna z zewnątrz i zwykłym IF bym po prostu ustawił warunek, że gdy flaga jest aktywna (wątek jest wykonywany) to nie próbuje go uruchomić jeszcze raz.

Zamierzam skorzystać z moduł thread/threading

Proszę o pomoc i życzę miłego dnia
  • 3
Kodu jeszcze nie mam. Bo na razie zastanawiam się jak to zrobić. Kluczowe pytania.
1. Czy jak wątek modyfikuje zmienną globalną to tą modyfikację od razu widać na zewnątrz, czy tworzy sobie kopie zmiennej i dopiero na zakończenie przekazuje wartość na zewnątrz?
2. Co się stanie jak wywołany watek, który jeszcze nie zakończył pracy zostanie w pętli głownej wywołany jeszcze raz?