¼ÓÈëÊÕ²Ø | ÉèΪÊ×Ò³ | »áÔ±ÖÐÐÄ | ÎÒҪͶ¸å Àî´óͬ £¨https://www.lidatong.com.cn/£©- ¿Æ¼¼¡¢½¨Õ¾¡¢¾­Ñé¡¢ÔÆ¼ÆËã¡¢5G¡¢´óÊý¾Ý,Õ¾³¤Íø!
µ±Ç°Î»Ö㺠Ê×Ò³ > ±à³Ì¿ª·¢ > Java > ÕýÎÄ

ѧϰJava,ΪʲôÎÒûÓеõ½Ò»Ð©Ï̵߳ÄÖØµþ£¿

·¢²¼Ê±¼ä£º2020-12-15 04:44:19 ËùÊôÀ¸Ä¿£ºJava À´Ô´£ºÍøÂçÕûÀí
µ¼¶Á£ºÎÒ³¢ÊÔÁËÒÔÏ´úÂ룺 /* package whatever; // don't place package name! */import java.util.*;import java.lang.*;import java.io.*; public class Main { static int i = 0; public static void main(String[] args) { new Thread(t1).start(); new Threa
ÎÒ³¢ÊÔÁËÒÔÏ´úÂ룺

/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;


    public class Main {
        static int i = 0;

    public static void main(String[] args) {

        new Thread(t1).start();
        new Thread(t2).start();
        new Thread(t3).start();
        new Thread(t4).start();
        new Thread(t5).start();
        new Thread(t6).start();
    }

    private static void countMe(String name){
        i++;
        System.out.println("Current Counter is: " + i + ",updated by: " + name);
    }

    private static Runnable t1 = new Runnable() {
        public void run() {
            try{
                for(int i=0; i<2; i++){
                    countMe("t1");
                }
            } catch (Exception e){}

        }
    };

    private static Runnable t2 = new Runnable() {
        public void run() {
            try{
                for(int i=0; i<2; i++){
                    countMe("t2");
                }
            } catch (Exception e){}
       }
    };
        private static Runnable t3 = new Runnable() {
        public void run() {
            try{
                for(int i=0; i<2; i++){
                    countMe("t3");
                }
            } catch (Exception e){}
       }
    };
        private static Runnable t4 = new Runnable() {
        public void run() {
            try{
                for(int i=0; i<2; i++){
                    countMe("t4");
                }
            } catch (Exception e){}
       }
    };
        private static Runnable t5 = new Runnable() {
        public void run() {
            try{
                for(int i=0; i<2; i++){
                    countMe("t5");
                }
            } catch (Exception e){}
       }
    };
        private static Runnable t6 = new Runnable() {
        public void run() {
            try{
                for(int i=0; i<2; i++){
                    countMe("t6");
                }
            } catch (Exception e){}
       }
    };
}

²¢ÇÒÔÚideoneÉϵõ½ÁËÊä³ö£º

µ±Ç°¼ÆÊýÆ÷ÊÇ£º1,¸üÐÂÕߣºt1
µ±Ç°¼ÆÊýÆ÷ÊÇ£º2,¸üÐÂÕߣºt1
µ±Ç°¼ÆÊýÆ÷ÊÇ£º3,¸üÐÂÕߣºt2
µ±Ç°¼ÆÊýÆ÷ÊÇ£º4,¸üÐÂÕߣºt2
µ±Ç°¼ÆÊýÆ÷ÊÇ£º5,¸üÐÂÕߣºt3
µ±Ç°¼ÆÊýÆ÷ÊÇ£º6,¸üÐÂÕߣºt3
µ±Ç°¼ÆÊýÆ÷ÊÇ£º7,¸üÐÂÕߣºt4
µ±Ç°¼ÆÊýÆ÷ÊÇ£º8,¸üÐÂÕߣºt4
µ±Ç°¼ÆÊýÆ÷ÊÇ£º9,¸üÐÂÕߣºt5
µ±Ç°¼ÆÊýÆ÷ÊÇ£º10,¸üÐÂÕߣºt5
µ±Ç°¼ÆÊýÆ÷ÊÇ£º11,¸üÐÂÕߣºt6
µ±Ç°¼ÆÊýÆ÷ÊÇ£º12,¸üÐÂÕߣºt6

ËÆºõÒ»Çж¼ÒÔÏßÐÔ·½Ê½½øÐÐ,¼´°´ÕÕÎÒ´´½¨ËüÃǵÄ˳ÐòÖð¸ö³ÆÎªº¯ÊýcountMeµÄÏß³Ì.¶àÏß³ÌÒâζ×ÅËüÃÇ¿ÉÄÜ»á³öÏÖ¹ÊÕÏ.ÎÒÔÚÕâÀïʧ×ÙÁËʲô£¿ÎÒÔËÐеĻúÆ÷(ÎÒÔÚideone.comÉÏÊÔ¹ý)µÄÅäÖÃÊÇÕâÑùµÄÂð,ËüÔËÐÐḬ̈߳´Ë³Ðò´´½¨£¿

½â¾ö·½·¨

Ï̴߳´½¨ºÜ°º¹ó.¿ÉÄÜ·¢ÉúµÄÊÇ,µ±ÄãÍê³ÉÆô¶¯Ïß³Ì2ʱ,Ïß³Ì1ÒѾ­Íê³É.µ±Ïß³Ì3¿ªÊ¼×öËüµÄÊÂÇéʱ,Ïß³Ì2ÒѾ­Íê³É.µÈµÈ.

ÔÚÏ̺߳¯ÊýµÄ¿ªÍ·²åÈëÒ»¸öÁù·½cyclic barrier²¢¿´µ½ËüÃÇrace(¿ÉÄÜÉõÖÁ»áʧȥһЩiÔöÁ¿,ÒòΪÎÒ²»Äܱ£Ö¤ÊÇÔ­×ÓµÄ).

Èç¹ûÕ⻹²»×ãÒÔ¿É¿¿µØ´¥·¢¾ºÈü,ÄÇôÈÃÏß³Ì×ö¸ü¶à¹¤×÷.

£¨±à¼­£ºÀî´óͬ£©

¡¾ÉùÃ÷¡¿±¾Õ¾ÄÚÈݾùÀ´×ÔÍøÂ磬ÆäÏà¹ØÑÔÂÛ½ö´ú±í×÷Õ߸öÈ˹۵㣬²»´ú±í±¾Õ¾Á¢³¡¡£ÈôÎÞÒâÇÖ·¸µ½ÄúµÄȨÀû£¬Ç뼰ʱÓëÁªÏµÕ¾³¤É¾³ýÏà¹ØÄÚÈÝ!

    ÍÆ¼öÎÄÕÂ
      ÈȵãÔĶÁ