Pytania otagowane jako synchronization

Synchronizacja odnosi się do używania elementów sterujących w celu utrzymania spójnej reprezentacji grupy procesów uruchamiających ten sam program (synchronizacja procesów) lub reprezentacji danych (synchronizacja danych).

8
Jak dokładnie działa blokada?
Widzę, że w przypadku używania obiektów, które nie są bezpieczne dla wątków, kod zamykamy w taki sposób: private static readonly Object obj = new Object(); lock (obj) { // thread unsafe code } Co dzieje się, gdy wiele wątków uzyskuje dostęp do tego samego kodu (załóżmy, że działa on w …

22
Unikać synchronizacji (tej) w Javie?
Za każdym razem, gdy pojawia się pytanie na temat SO dotyczące synchronizacji Java, niektórzy bardzo chętnie wskazują, że synchronized(this)należy tego unikać. Zamiast tego twierdzą, że preferowana jest blokada prywatnego odwołania. Niektóre z podanych powodów to: jakiś zły kod może ukraść twoją blokadę (bardzo popularny ten, ma również wariant „przypadkowo”) wszystkie …

5
Wersja C # zsynchronizowanego słowa kluczowego Java?
Czy c # ma własną wersję słowa kluczowego „synchronizowane” java? Tj. W java można określić funkcję, obiekt lub blok kodu, na przykład: public synchronized void doImportantStuff() { // dangerous code goes here. } lub public void doImportantStuff() { // trivial stuff synchronized(someLock) { // dangerous code goes here. } }

7
Jaka jest różnica między atomowym / lotnym / zsynchronizowanym?
Jak atomowy / lotny / zsynchronizowany działa wewnętrznie? Jaka jest różnica między następującymi blokami kodu? Kod 1 private int counter; public int getNextUniqueIndex() { return counter++; } Kod 2 private AtomicInteger counter; public int getNextUniqueIndex() { return counter.getAndIncrement(); } Kod 3 private volatile int counter; public int getNextUniqueIndex() { return …


5
W jaki sposób @synchronizowane blokowanie / odblokowywanie w Objective-C?
Czy @synchronized nie używa „blokady” i „odblokowania” do osiągnięcia wzajemnego wykluczenia? Jak to się wtedy blokuje / odblokowuje? Wyjście następującego programu to tylko „Hello World”. @interface MyLock: NSLock<NSLocking> @end @implementation MyLock - (id)init { return [super init]; } - (void)lock { NSLog(@"before lock"); [super lock]; NSLog(@"after lock"); } - (void)unlock …

10
Synchronizacja vs Blokada
java.util.concurrentInterfejs API zapewnia klasę o nazwie as Lock, która w zasadzie serializowałaby kontrolę w celu uzyskania dostępu do zasobu krytycznego. Daje metodę taką jak park()i unpark(). Możemy zrobić podobne rzeczy, jeśli możemy użyć synchronizedsłowa kluczowego oraz użycia wait()i notify() notifyAll()metod. Zastanawiam się, który z nich jest lepszy w praktyce i …

8
Jak działają zsynchronizowane metody statyczne w Javie i czy mogę ich używać do ładowania jednostek Hibernate?
Jeśli mam klasę util ze statycznymi metodami, które będą wywoływać funkcje Hibernate w celu uzyskania podstawowego dostępu do danych. Zastanawiam się, czy wykonanie tej metody synchronizedjest właściwym podejściem do zapewnienia bezpieczeństwa nici. Chcę, aby to uniemożliwiło dostęp do informacji do tej samej instancji bazy danych. Jednak jestem teraz pewien, czy …

8
Przykład / tutorial Mutex? [Zamknięte]
Zamknięte. To pytanie nie spełnia wytycznych dotyczących przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było na temat przepełnienia stosu. Zamknięte 4 miesiące temu . Popraw to pytanie Jestem nowy w wielowątkowości i próbowałem zrozumieć, jak działają muteksy. Dużo szukałem w Google, ale nadal …


6
Czy statyczne inicjatory Java są bezpieczne dla wątków?
Używam bloku kodu statycznego do zainicjowania niektórych kontrolerów w rejestrze, który mam. Moje pytanie brzmi zatem, czy mogę zagwarantować, że ten statyczny blok kodu zostanie wywołany tylko raz, gdy klasa zostanie po raz pierwszy załadowana? Rozumiem, że nie mogę zagwarantować, kiedy ten blok kodu zostanie wywołany, zgaduję, że kiedy Classloader …

10
C ++ 0x nie ma semaforów? Jak synchronizować wątki?
Czy to prawda, że ​​C ++ 0x przyjdzie bez semaforów? Istnieje już kilka pytań dotyczących przepełnienia stosu dotyczących używania semaforów. Używam ich (semaforów posix) cały czas, aby pozwolić wątkowi czekać na jakieś zdarzenie w innym wątku: void thread0(...) { doSomething0(); event1.wait(); ... } void thread1(...) { doSomething1(); event1.post(); ... } …


5
Jak zsynchronizować zmienną statyczną między wątkami obsługującymi różne instancje klasy w Javie?
Wiem, że użycie synchronizesłowa kluczowego przed metodą powoduje synchronizację z tym obiektem. Oznacza to, że zostaną zsynchronizowane 2 wątki z tym samym wystąpieniem obiektu. Ponieważ jednak synchronizacja jest na poziomie obiektu, 2 wątki z różnymi instancjami obiektu nie zostaną zsynchronizowane. Jeśli w klasie Java mamy zmienną statyczną, która jest wywoływana …

5
Jak używać właściwości CancellationToken?
W porównaniu z poprzednim kodem dla klasy RulyCanceler , chciałem uruchomić kod przy użyciu CancellationTokenSource. Jak go używać, jak wspomniano w tokenach anulowania , tj. Bez rzucania / łapania wyjątku? Czy mogę korzystać z IsCancellationRequestednieruchomości? Próbowałem tego użyć w ten sposób: cancelToken.ThrowIfCancellationRequested(); i try { new Thread(() => Work(cancelSource.Token)).Start(); } …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.