Zablokowana . To pytanie i odpowiedzi są zablokowane, ponieważ pytanie jest nie na temat, ale ma znaczenie historyczne. Obecnie nie akceptuje nowych odpowiedzi ani interakcji. Jeśli musisz wyjaśnić siedmioletniemu dziecku koncepcję wielowątkowości, jak byś to zrobił? Niedawno dostałem to pytanie w wywiadzie. Wymyśliłem historię, w której wykorzystałem prace (zadanie do …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 2 lata temu . Większość prac przygotowawczych do korupcji miała miejsce w latach 60. / 70., a …
Pracowałem zgodnie z zasadą równoczesnego programowania bez udziału. Zasadniczo wszystkie moje wątki robocze mają niezmienne kopie tylko do odczytu tego samego stanu, które nigdy nie są udostępniane między nimi ( nawet przez odniesienie ). Ogólnie rzecz biorąc, działało to naprawdę dobrze. Teraz ktoś wprowadził bufor singleton bez blokady ( np. …
Załóżmy, że wątki te działają w jednostce centralnej. Jako procesor uruchom tylko jedną instrukcję w jednym cyklu. Mówi się, że nawet dzielą zasoby procesora. ale komputer zapewnia, że jednorazowo jedna instrukcja. Czy więc blokada nie jest konieczna do wielokrotnego tworzenia wątków?
Od czasu do czasu widzisz to zdanie lub podobne, co ogólnie odnosi się do programu, który twierdzi, że nie zostały zaprojektowane w celu pełnego wykorzystania możliwości procesorów wielordzeniowych. Jest to powszechne zwłaszcza w przypadku programowania gier wideo. (oczywiście wiele programów nie ma współbieżności i nie potrzebuje jej, takich jak podstawowe …
Języki, które są czysto funkcjonalne lub prawie wyłącznie funkcjonalne, korzystają z trwałych struktur danych, ponieważ są niezmienne i dobrze pasują do bezpaństwowego stylu programowania funkcjonalnego. Ale od czasu do czasu widzimy biblioteki trwałych struktur danych dla języków (opartych na stanie, OOP), takich jak Java. Często słyszanym twierdzeniem na rzecz trwałych …
Jestem nowy w rozwoju C # i chcę stworzyć bardziej responsywny interfejs użytkownika. W moich wstępnych badaniach widziałem dwie metody osiągnięcia tego: Wielowątkowość w połączeniu z klasą BackgroundWorker. Nowsze modyfikatory Async / Await. Czy nowsze oznaczają lepsze? Jaka jest różnica między tymi dwiema metodami? Jeśli chcę stworzyć nowy projekt, jak …
„Konstrukcja uniwersalna” jest klasą opakowania dla obiektu sekwencyjnego, która umożliwia jego linearyzację (silny warunek spójności dla współbieżnych obiektów). Na przykład, tutaj jest dostosowana konstrukcja bez oczekiwania, w Javie, z [1], która zakłada istnienie kolejki bez oczekiwania, która spełnia interfejs WFQ(która wymaga tylko jednorazowej zgody między wątkami) i zakłada Sequentialinterfejs: public …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 4 lata temu . Stosunkowo niewielkie pytanie, ale nie udało mi się znaleźć oficjalnej dokumentacji ani nawet …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Zamknięte 4 lata temu . Zablokowana . To pytanie nie akceptuje obecnie nowych odpowiedzi ani interakcji. Dowiedz się więcej . Zdałem sobie sprawę, że mam ogromną lukę w wiedzy, jeśli chodzi o aplikacje wielowątkowe i programowanie równoległe. W …
Słyszałem gdzieś, że asynchroniczne oczekiwanie na C # 5 będzie tak niesamowite, że nie będziesz musiał się tym martwić: if (InvokeRequired) { BeginInvoke(...); return; } // do your stuff here Wygląda na to, że wywołanie zwrotne operacji oczekującej nastąpi w oryginalnym wątku osoby dzwoniącej. Eric Lippert i Anders Hejlsberg kilkakrotnie …
Więc coś mnie denerwuje w związku z nową obsługą asynchronizacji w C # 5: Użytkownik naciska przycisk, który rozpoczyna operację asynchroniczną. Połączenie natychmiast wraca, a pompa komunikatów zaczyna działać ponownie - o to właśnie chodzi. Aby użytkownik mógł ponownie nacisnąć przycisk - powodując ponowne wejście. Co jeśli jest to problem? …
Wydaje mi się, że tak się stanie: Gdyby dwa rdzenie próbowały uzyskać dostęp do tego samego adresu w pamięci RAM, jeden musiałby poczekać , aż drugi uzyska dostęp do pamięci RAM. Za drugim razem, gdy każdy rdzeń będzie próbował uzyskać dostęp do tego samego adresu, mogą nadal mieć pamięć podręczną …
Jeśli dobrze pamiętam kurs mojego kompilatora, typowy kompilator ma następujący uproszczony zarys: Analizator leksykalny skanuje (lub wywołuje funkcję skanowania) kod źródłowy znak po znaku Ciąg znaków wejściowych jest sprawdzany pod kątem poprawności ze słownikiem leksemów Jeśli leksem jest ważny, jest on następnie klasyfikowany jako token, któremu odpowiada Analizator składni sprawdza …
Obecnie mam wrażenie, że nadmiernie używam wielowątkowości. Mam 3 rodzaje danych, A, B i C. Każdy z nich Amożna przekonwertować na wiele Bs, a każdy Bmożna przekonwertować na wiele Cs. Interesuje mnie tylko leczenie Cs. Mógłbym napisać to dość łatwo za pomocą kilku funkcji konwersji. Ale złapałem się jej wykonania …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.