-
X-Received: by 10.140.27.244 with SMTP id 107mr103685qgx.18.1401909016167; Wed, 04
Jun 2014 12:10:16 -0700 (PDT)
X-Received: by 10.140.27.244 with SMTP id 107mr103685qgx.18.1401909016167; Wed, 04
Jun 2014 12:10:16 -0700 (PDT)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!h18no362318igc.0!news-out.go
ogle.com!k18ni4648qav.1!nntp.google.com!j5no1197899qaq.1!postnews.google.com!gl
egroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Wed, 4 Jun 2014 12:10:14 -0700 (PDT)
In-Reply-To: <lmnmv5$efm$1@node1.news.atman.pl>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=62.141.231.134;
posting-account=TK5l0QoAAAAldQF2560HYsPD7T6zK1l9
NNTP-Posting-Host: 62.141.231.134
References: <5...@g...com>
<lls37q$9ke$1@node1.news.atman.pl>
<1...@g...com>
<lmnmv5$efm$1@node1.news.atman.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0...@g...com>
Subject: Re: Wielowątkowość - podstawowe pytanie
From: Piotrek <p...@p...onet.pl>
Injection-Date: Wed, 04 Jun 2014 19:10:16 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:205897
[ ukryj nagłówki ]W dniu środa, 4 czerwca 2014 20:02:13 UTC+2 użytkownik Edek napisał:
> Szarym od mżawki świtem Wed, 04 Jun 2014 10:59:44 -0700, Piotrek wyrzucił
>
> pustą ćwiartkę i oznajmił:
>
>
>
> >> .... powiedz, jak kompilator miałby zrozumieć
>
> >>
>
> >>
>
> >>
>
> >> a = b + c
>
> >>
>
> >>
>
> >>
>
> >> a) osobno odczyt zmiennych dodawanie i zapis?
>
> >>
>
> >> b) całe wyrażenie wraz z przypisaniem atomowo?
>
> >>
>
> >> c) co jeżeli typem jest liczba zespolona, czy w klasie Complex
>
> >>
>
> >> musi być informacja, że część rzeczywistą i urojoną traktuje się
>
> >>
>
> >> atomowo czyli zawsze razem, czy może kompilator też miałby się
>
> >>
>
> >> tego w jakiś sposób "domyśleć"?
>
> >
>
> > Wybieram odpowiedź b), tzn. całe wyrażenie jest traktowane
>
> > jako jedna, niepodzielna instrukcja, niezależnie od tego na jakich typach
>
> > danych wykonywana jest nasza przykładowa operacja. Generalnie załóżmy,
>
> > że kompilator dowolną instrukcję języka traktuje jako niepodzielną
>
> > całość niezależnie od jej stopnia złożoności, tzn. tłumaczy ją na kod
>
> > maszynowy, po czym "obudowuje" ją jakąś parą lock/unlock tak, żeby była
>
> > atomowa. Nieważne czy ta instrukcja to np. zwiększenie liczby o 1,
>
> > czy wywołanie jakiejś skomplikowanej funkcji. Teraz czekam na odpowiedź
>
> > dlaczego to jest niemożliwe do realizacji albo w niczym by nie pomogło.
>
>
>
> Co z wywołaniem main(), albo jedynej funkcji w main(), też mają być otoczone
>
> lock/unlock()?
>
>
>
> --
>
> Edek
Teraz mi pewnie nie uwierzysz, ale poprzednią wiadomość wysyłałem
z myślą, że właśnie tym przykładem obalisz mój naiwny pomysł.
Oczywiście objęcie samego maina "lockami" kładłoby pozostałe
wątki na łopatki (bo nigdy nie doczekałyby się na swoją kolej),
ale spróbujmy obronić moje rozumowanie... e, nie, chyba jednak
się nie da :) Kusiło mnie, żeby spytać co by było, gdyby zrobić
wyjątek dla funkcji main() i pozwolić, żeby nie była
atomowa. Widzę jednak, że to by nic nie dało. Gdyby main()
nie była atomowa, ale atomowe byłoby wszystko to, co z niej wołamy,
mielibyśmy identyczny problem (bo wewnątrz main() mogłaby się znajdować
tylko jedna instrukcja albo jedną z wywoływanych funkcji byłaby
np. główna pętla programu i inne wątki bezowocnie czekałyby sobie
na jej zakończenie). Wniosek z tego taki, że to, co siedzi
w mainie, jednak nie może być defaultowo niepodzielne, więc
nie ma sensu, żeby cokolwiek innego takie było. Dziękuję
za pobudzenie do myślenia :)
Następne wpisy z tego wątku
- 04.06.14 22:19 Edek
Najnowsze wątki z tej grupy
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
Najnowsze wątki
- 2025-07-19 Zakrzewo => SAP HCM Consultant <=
- 2025-07-19 Poznań => Konsultant SAP HCM <=
- 2025-07-19 Poznań => SAP HCR Consultant <=
- 2025-07-18 celnicy pobili policjanta
- 2025-07-18 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-18 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=
- 2025-07-18 Białystok => Kotlin Developer <=
- 2025-07-18 Warszawa => Sales Director (Cloud solutions) <=
- 2025-07-18 Spalinowa trauma
- 2025-07-18 Polska => Senior Key Account Manager <=
- 2025-07-18 Białystok => Programista Kotlin <=
- 2025-07-18 Szczecin => Key Account Manager IT <=
- 2025-07-18 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-18 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-18 Lublin => Delphi Programmer <=