ÀÖÓãµç¾º

  • ½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

    È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

    volatile¿ÉÒÔ½«Ò»¸ö·ÇÔ­×Ó²Ù×÷±ä³ÉÔ­×Ó²Ù×÷Âð?

    ¸üÐÂʱ¼ä:2023Äê10ÔÂ13ÈÕ09ʱ19·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

    ºÃ¿Ú±®ITÅàѵ

    ¡¡¡¡volatile¹Ø¼ü×ÖÓÃÓÚ¸æËß±àÒëÆ÷²»Òª¶Ô±»ÉùÃ÷ΪvolatileµÄ±äÁ¿½øÐÐÓÅ»¯£¬ÒòΪÕâЩ±äÁ¿¿ÉÄܻᱻÍⲿÒòËØ¸Ä±ä£¬¶ø²»ÊÇÓɳÌÐòÄÚ²¿´úÂë¿ØÖÆ¡£Ëüͨ³£ÓÃÓÚ¶àÏ̱߳à³ÌÖУ¬ÒÔÈ·±£Ïß³ÌÖ®¼ä¶Ô±äÁ¿µÄ·ÃÎÊÊǿɼûµÄ£¬µ«Ëü²¢²»Äܽ«·ÇÔ­×Ó²Ù×÷±ä³ÉÔ­×Ó²Ù×÷¡£

    ¡¡¡¡ÔÚ¶àÏ̻߳·¾³ÖУ¬Ò»¸ö²Ù×÷Èç¹ûÊÇÔ­×Ó²Ù×÷£¬Òâζ×ÅËüҪôÍêȫִÐУ¬ÒªÃ´ÍêÈ«²»Ö´ÐУ¬Ã»ÓÐÖмä״̬¡£volatile±äÁ¿È·±£Ïß³ÌÖ®¼äµÄ¿É¼ûÐÔ£¬µ«²»±£Ö¤Ô­×ÓÐÔ¡£Èç¹ûÎÒÃÇÏ£Íû½«·ÇÔ­×Ó²Ù×÷±ä³ÉÔ­×Ó²Ù×÷£¬¿ÉÒÔʹÓû¥³âËø»òÔ­×Ó²Ù×÷º¯Êý£¬¾ßÌåÈ¡¾öÓÚ±à³ÌÓïÑÔºÍÆ½Ì¨¡£

    ¡¡¡¡ÏÂÃæÊÇÒ»¸öʾÀý£¬ËµÃ÷volatileµÄ¿É¼ûÐÔ£¬ÒÔ¼°ÎªºÎËü²»ÄÜÓÃÀ´È·±£Ô­×ÓÐÔ£º

    public class VolatileExample {
        private volatile int sharedValue = 0;
    
        public void increment() {
            sharedValue++;
        }
    
        public int getSharedValue() {
            return sharedValue;
        }
    
        public static void main(String[] args) {
            VolatileExample example = new VolatileExample();
    
            Thread thread1 = new Thread(() -> {
                for (int i = 0; i < 1000; i++) {
                    example.increment();
                }
            });
    
            Thread thread2 = new Thread(() -> {
                for (int i = 0; i < 1000; i++) {
                    example.increment();
                }
            });
    
            thread1.start();
            thread2.start();
    
            try {
                thread1.join();
                thread2.join();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
    
            System.out.println("Shared Value: " + example.getSharedValue());
        }
    }

    ¡¡¡¡ÔÚÉÏÊöʾÀýÖУ¬ÎÒÃÇʹÓÃÁËvolatileÐÞÊÎsharedValue±äÁ¿ÒÔÈ·±£ÆäÔÚ²»Í¬Ïß³ÌÖ®¼äµÄ¿É¼ûÐÔ¡£¾¡¹Ü volatile¿ÉÒÔÈ·±£Ïß³ÌÖ®¼ä¿´µ½×îеÄÖµ£¬µ«sharedValue++²Ù×÷ÈÔÈ»²»ÊÇÔ­×Ó²Ù×÷£¬Òò´Ë×îÖյĽá¹û¿ÉÄÜ»áСÓÚÔ¤ÆÚµÄ2000¡£Òª±£Ö¤Ô­×ÓÐÔ£¬Ó¦¸ÃʹÓÃËø»òÔ­×Ó²Ù×÷ÀàÀ´Í¬²½increment²Ù×÷¡£

    0 ·ÖÏíµ½£º
    ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
    ¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿