cari

Rumah  >  Soal Jawab  >  teks badan

java - new了2个Thread,为什么不是交叉打印?

public static void main(String[] args){

        new Thread(new Runnable() {
            @Override
            public void run() {
                for (int i=0; i<10; i++){
                    System.out.print(i+" ");
                }
            }
        }).start();

        new Thread(new Runnable() {
            @Override
            public void run() {
                for (int i=0; i<10; i++){
                    System.out.print(i+" ");
                }
            }
        }).start();
    }

输出结果如下:

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 
PHPzPHPz2802 hari yang lalu1505

membalas semua(13)saya akan balas

  • 阿神

    阿神2017-04-18 10:29:18

    1. Untuk mengawal susunan kunci benang agar kekal konsisten, anda boleh menggunakan kunci fleksibel dalam pakej java.util.concurrent.locks
    2. Gunakan kelas atom java.util.concurrent.atomic pakej

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:29:18

    Pelaksanaan CPU terlalu pantas Utas pertama selesai dilaksanakan dengan cepat Utas kedua mungkin belum dibuat lagi. Cuba ubah nilai gelung kepada 1000. Anda sepatutnya dapat melihat kesannya pasti tidak akan berfungsi. Ia akan menjadi persimpangan dan mengelirukan

    balas
    0
  • 高洛峰

    高洛峰2017-04-18 10:29:18

    Tugas pelaksanaan CPU dilaksanakan dalam keadaan tidak teratur dan penyegerakan antara berbilang urutan tidak dijamin Jika anda ingin memastikan pesanan, kawalan penyegerakan diperlukan

    balas
    0
  • Batalbalas