java - new了2个Thread,为什么不是交叉打印?
PHPz
PHPz 2017-04-18 10:27:18
0
13
1509
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 
PHPz
PHPz

学习是最好的投资!

membalas semua(13)
阿神

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

巴扎黑

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

小葫芦

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan