SORU
18 EYLÜL 2008, PERŞEMBE


zaman.uyku -- parçacığı veya İşlem uyur?

*Nix için Python, time.sleep() iş parçacığı veya İşlem bloğu mu?

CEVAP
18 EYLÜL 2008, PERŞEMBE


Bu iş parçacığı engeller. Eğer Modülleri bakarsanız/timemodule.c Python kaynak, görürsün o zaman aramak için floatsleep() maddi kısmını uyku operasyon sarılı bir Py_BEGİN_ALLOW_THREADS ve Py_END_ALLOW_THREADS blok, izin için başka bir iş parçacığı devam etmek için yürütme sırasında geçerli bir uyuyor. Ayrıca basit bir python programı ile test edebilirsiniz:

import time
from threading import Thread

class worker(Thread):
    def run(self):
    	for x in xrange(0,11):
    		print x
    		time.sleep(1)

class waiter(Thread):
    def run(self):
    	for x in xrange(100,103):
    		print x
    		time.sleep(5)

def run():
    worker().start()
    waiter().start()

Yazdırma:

>>> thread_test.run()
0
100
>>> 1
2
3
4
5
101
6
7
8
9
10
102

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 3biblecom

    3biblecom

    23 NİSAN 2011
  • Apple

    Apple

    22 HAZİRAN 2005
  • Watcher3223

    Watcher3223

    15 Kasım 2007