国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

python - Thread isu keselamatan tentang singleton
給我你的懷抱
給我你的懷抱 2017-05-18 10:45:22
0
1
734

class Singleton(object):
    __instance = None

    def __new__(cls, *args, **kwargs):
        if not cls.__instance:
           cls.__instance = super(Singleton, cls).__new__(cls, *args, **kwargs)

        return cls.__instance
    
if __name__ == '__main__':

    # 多線程中單例的使用
    from threading import Thread
    def func():
        print(id(Singleton()))

for index in range(10000):
    Thread(target=func).start()

Di atas adalah cara untuk melaksanakan singleton dalam python, tetapi kita semua tahu bahawa pelaksanaan ini tidak selamat untuk benang. Dalam kod di atas, saya menulis kod ujian sendiri, tetapi mendapati bahawa output id adalah sama. Ini tidak dapat membuktikan bahawa ia tidak selamat untuk benang? Soalan saya ialah: Bagaimana untuk menulis kod ujian yang boleh membuktikan bahawa pelaksanaan ini tidak selamat untuk benang?

給我你的懷抱
給我你的懷抱

membalas semua(1)
劉奇

Pada asalnya, mod tunggal hanya boleh membuat seketika satu objek dan tiada kaitan dengan benang. Walaupun ia selamat untuk urutan, ia mengembalikan id yang sama.

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