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

  • emimusic

    emimusic

    10 Mart 2006
  • L33TNoonProductions

    L33TNoonProd

    24 EYLÜL 2010
  • Turkish Airlines

    Turkish Airl

    11 AĞUSTOS 2006