<bgdev />free

Вход Регистрация

порно за нърдове и ифлс ретарди
0

0 1 2

#151530 (ツ) Rabin
Създадено на 24.08.2025 , видяно: 227 пъти.
Евлампи

Защото гаранция франция, сега разбираш ли какъв Рабиняк неможач си :)

Не за това, гол свирецо!

#151531 (ツ) Евлампи
Създадено на 24.08.2025 , видяно: 216 пъти.
#151532 (ツ) |
Създадено на 24.08.2025 , видяно: 213 пъти.

Да, точно това обяснява Ребата. На някой, който претендира, че е писал индустриален софтуер.

#151533 (ツ) |
Създадено на 24.08.2025 , видяно: 205 пъти.

Реално козоеба няма никаква идея от каквото и да е програмиране. Пълна скръб.

#151534 (ツ) waldorf
Създадено на 24.08.2025 , видяно: 201 пъти.
Rabin

Обяснява защо портовете на контролер се цъка през волатайл.

Май пак не си разбрал що е то volatile, къде и кога се ползва И най вече какво точно прави компилатора като го види.

#151598 (ツ) Rabin
Последно редактирано на 25.08.2025 от Rabin, видяно: 156 пъти.
waldorf

Май пак не си разбрал що е то volatile, къде и кога се ползва И най вече какво точно прави компилатора като го види.

Изключва оптимизациите. Които пречат да цъкаш порт на контролер, 0 - 1 - 0 го оптимизира до твърда нула. Лично проверено.

|

Реално козоеба няма никаква идея от каквото и да е програмиране. Пълна скръб.

Макя ти фостенцата.

#151599 (ツ) |
Създадено на 25.08.2025 , видяно: 153 пъти.

Колкото и да псува козоеба, фактът, че не разбира от програмиране остава непроменен.

Но канадското говедо може и да е по-неграмотно дори и от него. Което е доста шокиращо.

#151615 (ツ) waldorf
Създадено на 26.08.2025 , видяно: 143 пъти.
Rabin

Изключва оптимизациите. Които пречат да цъкаш порт на контролер, 0 - 1 - 0 го оптимизира до твърда нула. Лично проверено.

Тц, не ги изключва. Т.е. изключва само някои оптимизации. Като не си наясно какво и защо прави няма да си наясно и къде и как да го ползваш.

#151634 (ツ) Delegate
Създадено на 26.08.2025 , видяно: 111 пъти.

Локалния модел ми изплю това за volatile, като го питах.

Here's a clear, practical explanation of volatile in Java**, with a concrete example and key caveats:

-

🔑 What volatile Does** - Ensures visibility** of variable changes across threads. - Prevents thread-local caching** (e.g., a thread doesn’t keep a stale copy in its CPU cache). - Does NOT provide atomicity** (e.g., count++ is still not thread-safe with volatile). - Does NOT prevent race conditions** (only ensures latest value is seen).

> 💡 Simple Analogy**: > Without volatile, Thread A might "see" an old value of flag from its local cache (like a teammate not checking your latest text message). > With volatile, Thread A always checks the "official" flag (like reading your latest message directly).

-

🧪 Example: Without volatile (Broken!)**

public class VolatileExample {
    private static boolean isRunning = false; // NOT volatile!

    public static void main(String[] args) {
        // Thread 1: Sets isRunning to true
        new Thread(() -> {
            System.out.println("Thread 1: Setting isRunning = true");
            isRunning = true;
        }).start();

        // Thread 2: Checks isRunning in a loop
        new Thread(() -> {
            while (!isRunning) {
                // Busy-wait until isRunning becomes true
            }
            System.out.println("Thread 2: Exit loop (isRunning is now true!)");
        }).start();
    }
}

What happens?** - Thread 2 may never exit** the loop! - Why? Thread 2’s CPU cache holds the old value (`false`), even though Thread 1 updated isRunning to true in main memory. - This is a classic race condition** (caused by caching, not atomicity).

-

Fixed with volatile

public class VolatileExampleFixed {
    private static volatile boolean isRunning = false; // ✅ Added volatile

    public static void main(String[] args) {
        new Thread(() -> {
            System.out.println("Thread 1: Setting isRunning = true");
            isRunning = true;
        }).start();

        new Thread(() -> {
            while (!isRunning) {
                // Now Thread 2 always sees the updated value
            }
            System.out.println("Thread 2: Exit loop (isRunning is now true!)");
        }).start();
    }
}

Why it works**: - The volatile keyword forces every read/write** of isRunning to go directly to main memory** (not a thread’s local cache). - Thread 2 always sees the latest value of isRunning set by Thread 1.

-

⚠️ Critical Caveats (Must Know!)** 1. volatile does NOT make operations atomic** java

private static volatile int count = 0; count++; NOT thread-safe! (Read → Modify → Write is not atomic) ` - Why?** count++ is three steps: read count, increment, write back. - Fix**: Use AtomicInteger or synchronized.

2. Use only for simple flags/booleans** - ✅ Good: volatile boolean isReady; - ❌ Bad: volatile int counter; (use AtomicInteger instead).

3. Does not replace synchronized - volatile solves visibility, but not mutual exclusion** (only one thread can enter a critical section). - For complex state (e.g., Map), use synchronized or ConcurrentHashMap.

-

📌 When to Use volatile | Scenario | Example | Why? | |-----------------------------------|-----------------------------|-------------------------------| | Simple flag to signal state change | volatile boolean isPaused; | Threads must see the latest flag value | | "One-time" initialization (double-check lock) | volatile Object instance; | Prevents stale reads of a lazy-initialized object |

-

Common Misconceptions** | Myth | Reality | |---------------------------------------|------------------------------------------| | "`volatile` makes code thread-safe" | ❌ Only ensures visibility, not atomicity | | "`volatile` works for all data types" | ❌ Only safe for single reads/writes (not compound ops) | | "`volatile` replaces synchronized" | ❌ synchronized provides both visibility and atomicity |

-

💡 Key Takeaway** > Use volatile ONLY when:** > 1. You need visibility** of a single variable across threads, > 2. The variable is simple** (e.g., boolean, int, reference), > 3. You don’t need atomic operations** (e.g., count++). > > Otherwise, use synchronized, AtomicInteger, or ConcurrentHashMap.**

> 🌟 Pro Tip**: If you need to increment a counter safely, never** use volatile int. Always use AtomicInteger: > java

> private static final AtomicInteger counter = new AtomicInteger(0); > counter.incrementAndGet(); Thread-safe! > `

#151638 (ツ) BIGBUGEX
Създадено на 26.08.2025 , видяно: 106 пъти.

Ама тва е на английски. Рабинката не одобрява.

#151641 (ツ) Delegate
Създадено на 26.08.2025 , видяно: 103 пъти.

Сега ще го питам да го преведе да видя как му е българския. Подозорам, че е доста зле и е русифициран.

#151642 (ツ) Последният акаунт на Единия
Последно редактирано на 26.08.2025 от Последният акаунт на Единия, видяно: 100 пъти.
Delegate

Сега ще го питам да го преведе да видя как му е българския. Подозорам, че е доста зле и е русифициран.

Who cares Yugi!?

Кой използва български бе братко?

Българския съдържа турцизми и циганизми.

Аз ползвам само английски, немски и изобщо, доктор Радева... МИ Е ЗАБРАНИЛА ДА ГОВОРЯ НА БЪЛГАРСКИ! >:-(

#151647 (ツ) Rabin
Създадено на 26.08.2025 , видяно: 89 пъти.
waldorf

Тц, не ги изключва. Т.е. изключва само някои оптимизации. Като не си наясно какво и защо прави няма да си наясно и къде и как да го ползваш.

Това са проверени неща, еничер бесен. На AtTiny, 10 реда код. Именно това прави, дето Ребата ми го обясни. Всичките прости глави се чесахме с колегите, не се сети никой. Компилатора беше WinAVR, не знам дали е C++ отдоле, на Ардуино е истински пълнокръвен С++ дето може да компилираш ААА игра на ньега. Бесни оптимизации и чудеса.

#151653 (ツ) waldorf
Създадено на 26.08.2025 , видяно: 86 пъти.
Rabin

Това са проверени неща, еничер бесен. На AtTiny, 10 реда код. Именно това прави, дето Ребата ми го обясни. Всичките прости глави се чесахме с колегите, не се сети никой. Компилатора беше WinAVR, не знам дали е C++ отдоле, на Ардуино е истински пълнокръвен С++ дето може да компилираш ААА игра на ньега. Бесни оптимизации и чудеса.

Подозирам, че ти си бил бай умния и опитен в екипа, нали?

#151659 (ツ) Rabin
Създадено на 26.08.2025 , видяно: 82 пъти.
waldorf

Подозирам, че ти си бил бай умния и опитен в екипа, нали?

Само аз барах ембед.

#151661 (ツ) |
Създадено на 26.08.2025 , видяно: 80 пъти.

Според мен всичките "авери" на козоеба са пишман експерти като него. Професионалния земеделец разбира от земеделие толкова, колкото козоеба от компютри. Професионалния автомонтьор разбира от коли колкото професионалния земеделец разбира от земеделие, и т.н. и т.н. :)

#151667 (ツ) Rabin
Създадено на 26.08.2025 , видяно: 76 пъти.
|

Според мен всичките "авери" на козоеба са пишман експерти като него. Професионалния земеделец разбира от земеделие толкова, колкото козоеба от компютри. Професионалния автомонтьор разбира от коли колкото професионалния земеделец разбира от земеделие, и т.н. и т.н. :)

Макя ти обаче не може да се отърве от мангали. Била профи и не взема скъпо.

#151668 (ツ) |
Създадено на 26.08.2025 , видяно: 72 пъти.

Миризливия козоеб пак се опитва да измести темата от абсолютната некадърност на аверите му и него самия. :)

#151670 (ツ) Rabin
Създадено на 26.08.2025 , видяно: 69 пъти.
|

Миризливия козоеб пак се опитва да измести темата от абсолютната некадърност на аверите му и него самия. :)

Кво да правя, факти, макя ти го духа.

#151671 (ツ) |
Създадено на 26.08.2025 , видяно: 66 пъти.

Отчаяно се опитва да измести темата, за да не му се смеем за 17-тата фирма, която го уволнява. :)

0 1 2

порно за нърдове и ифлс ретарди
0

AsmBB v3.0 (check-in: 7544654b24928b93); SQLite v3.47.0 (check-in: 03a9703e27c44437);
©2016..2024 John Found; Licensed under EUPL. Powered by Assembly language Created with Fresh IDE