±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 200  |  »Ø¸´: 1
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£

jove1782

ľ³æ (ÕýʽдÊÖ)


[×ÊÔ´] PythonÏ̱߳à³Ì£¨Ò»£©Ï̶߳ÔÏó

ÎÒÃÇÔÚ×öÈí¼þ¿ª·¢µÄʱºòºÜ¶àÒªÓõ½¶àÏ̼߳¼Êõ¡£ÀýÈçÈç¹û×öÒ»¸öÏÂÔØÈí¼þÏóflashget¾ÍÒªÓõ½¡¢ÏóÔÚÏßÊÓÆµ¹¤¾ßrealplayerÒ²ÒªÓõ½ÒòΪҪͬʱÏÂÔØmedia stream»¹Òª²¥·Å¡£ÆäʵÀý×ÓÊǺܶàµÄ¡£
Ïß³ÌÏà¶Ô½ø³ÌÀ´ËµÊÇ¡°ÇáÁ¿¼¶¡±µÄ£¬²Ù×÷ϵͳÓýÏÉÙµÄ×ÊÔ´´´½¨ºÍ¹ÜÀíÏ̡߳£³ÌÐòÖеÄÏß³ÌÔÚÏàͬµÄÄÚ´æ¿Õ¼äÖÐÖ´ÐУ¬²¢¹²ÏíÐí¶àÏàͬµÄ×ÊÔ´¡£

ÔÚpythonÖÐÈçºÎ´´½¨Ò»¸öÏ̶߳ÔÏó

Èç¹ûÄãÒª´´½¨Ò»¸öÏ̶߳ÔÏ󣬺ܼòµ¥£¬Ö»ÒªÄãµÄÀà¼Ì³Ðthreading.Thread£¬È»ºóÔÚ__init__ÀïÊ×Ïȵ÷ÓÃthreading.ThreadµÄ__init__·½·¨¼´¿É

import threading
class mythread(threading.Thread):
def __init__(self, threadname):
threading.Thread.__init__(self, name = threadname)
....

Õâ²Å½ö½öÊǸö¿ÕỊ̈߳¬Îҿɲ»ÊÇÒªËûÀ­¿Õ³µµÄ£¬Ëû¿ÉµÃ¸øÎҸɵãʵÔڻºÜ¼òµ¥£¬ÖØÐ´ÀàµÄrun()·½·¨¼´¿É£¬°ÑÄãÒªÔÚÏß³ÌÖ´ÐÐʱ×öµÄÊÂÇé¶¼·Åµ½ÀïÃæ

import threading
import time
class mythread(threading.Thread):
def __init__(...):
....
def run(self):
for i in range(10):
print self.getName, i
time.sleep(1)

ÒÔÉÏ´úÂëÎÒÃÇÈÃÕâ¸öÏß³ÌÔÚÖ´ÐÐÖ®ºóÿ¸ô1ÃëÊä³öÒ»´ÎÐÅÏ¢µ½ÆÁÄ»£¬10´Îºó½áÊø

getName()ÊÇthreading.ThreadÀàµÄÒ»¸ö·½·¨£¬ÓÃÀ´»ñµÃÕâ¸öÏ̶߳ÔÏóµÄname¡£»¹ÓÐÒ»¸ö·½·¨setName()µ±È»¾ÍÊÇÀ´ÉèÖÃÕâ¸öÏ̶߳ÔÏóµÄnameµÄÁË¡£

Èç¹ûÒª´´½¨Ò»¸öỊ̈߳¬Ê×ÏȾÍÒªÏÈ´´½¨Ò»¸öÏ̶߳ÔÏó

mythread1 = mythread('mythread 1')

Ò»¸öÏ̶߳ÔÏó±»´´½¨ºó£¬Ëû¾Í´¦ÓÚ¡°born¡±£¨µ®Éú״̬£©

ÈçºÎÈÃÕâ¸öÏ̶߳ÔÏó¿ªÊ¼ÔËÐÐÄØ?Ö»Òªµ÷ÓÃÏ̶߳ÔÏóµÄstart()·½·¨¼´¿É

mythread1.start()

ÏÖÔÚÏ߳̾ʹ¦ÓÚ¡°ready¡±×´Ì¬»òÕßÒ²³ÆÎª¡°runnable¡±×´Ì¬¡£

Ææ¹ÖÂ𣿲»ÊÇÒѾ­startÁËÂð£¿ÎªÊ²Ã´²»³ÆÎª¡°running¡±×´Ì¬ÄØ£¿ÆäʵÊÇÓÐÔ­ÒòµÄ¡£ÒòΪÎÒÃǵļÆËã»úÒ»°ãÊDz»¾ßÓÐÕæÕý²¢Ðд¦ÀíÄÜÁ¦µÄ¡£ÎÒÃÇËùνµÄ¶àÏß³ÌÖ»ÊǰÑʱ¼ä·Ö³ÉƬ¶Î£¬È»ºó¸ôÒ»¸öʱ¼ä¶Î¾ÍÈÃÒ»¸öÏß³ÌÖ´ÐÐһϣ¬È»ºó½øÈë¡°sleeping ¡±×´Ì¬£¬È»ºó»½ÐÑÁíÒ»¸öÔÚ¡°sleeping¡±µÄỊ̈߳¬Èç´ËÑ­»·runnable->sleeping->runnable... £¬Ö»ÊÇÒòΪ¼ÆËã»úÖ´ÐÐËٶȺܿ죬¶øÊ±¼äƬ¶Î¼ä¸ôºÜС£¬ÎÒÃǸÐÊܲ»µ½£¬ÒÔΪÊÇͬʱ½øÐеġ£ËùÒÔ˵һ¸öÏß³ÌÔÚstartÁËÖ®ºóÖ»ÊÇ´¦ÔÚÁË¿ÉÒÔÔËÐеÄ״̬£¬ËûʲôʱºòÔËÐл¹ÊÇÓÉϵͳÀ´½øÐе÷¶ÈµÄ¡£

ÄÇÒ»¸öÏß³Ìʲôʱºò»á¡°dead¡±ÄØ£¿Ò»°ãÀ´Ëµµ±Ï̶߳ÔÏóµÄrun·½·¨Ö´ÐнáÊø»òÕßÔÚÖ´ÐÐÖÐÅ׳öÒì³£µÄ»°£¬ÄÇôÕâ¸öÏ߳̾ͻá½áÊøÁË¡£ÏµÍ³»á×Ô¶¯¶Ô¡°dead¡±×´Ì¬Ï߳̽øÐÐÇåÀí¡£

Èç¹ûÒ»¸öÏß³Ìt1ÔÚÖ´ÐеĹý³ÌÖÐÐèÒªµÈ´ýÁíÒ»¸öÏß³Ìt2Ö´ÐнáÊøºó²ÅÄÜÔËÐеϰÄǾͿÉÒÔÔÚt1ÔÚµ÷ÓÃt2µÄjoin()·½·¨

....
def t1(...):
...
t2.join()
...

ÕâÑùt1ÔÚÖ´Ðе½t2.join()Óï¾äºó¾Í»áµÈ´ýt2½áÊøºó²Å»á¼ÌÐøÔËÐС£

µ«ÊǼÙÈçt1ÊǸöËÀÑ­»·µÄ»°ÄÇôµÈ´ý¾ÍûÓÐÒâÒåÁË£¬ÄÇÔõô°ìÄØ£¿¿ÉÒÔÔÚµ÷ÓÃt2µÄjoin()·½·¨µÄʱºò¸øÒ»¸ö¸¡µãÊý×ö³¬Ê±²ÎÊý£¬ÕâÑùÕâ¸öÏ߳̾Ͳ»»áµÈµ½»¨¶ùҲлÁËÁË¡£ÎÒµÈÄã10s£¬Äã²»»ØÀ´ÎÒ»¹²»ÔÊÐíÎҸļް¡£¿

def t1(...):
...
t2.join(10)
...

Èç¹ûÒ»¸ö½ø³ÌµÄÖ÷Ïß³ÌÔËÐÐÍê±Ï¶ø×ÓÏ̻߳¹ÔÚÖ´Ðеϰ£¬ÄÇô½ø³Ì¾Í²»»áÍ˳ö£¬Ö±µ½ËùÓÐ×ÓÏ߳̽áÊøÎªÖ¹£¬ÈçºÎÈÃÖ÷Ï߳̽áÊøµÄʱºòÆäËû×ÓÏß³ÌÒ²¹Ô¹ÔµÄ¸úÀÏ´ó³·ÍËÄØ£¿ÄǾÍÒª°ÑÄÇЩ²»Ìý»°µÄÈËÉèÖÃΪÌý»°µÄСµÜ£¬Ê¹ÓÃÏ̶߳ÔÏóµÄsetDaemon()·½·¨£¬²ÎÊýΪboolÐÍ¡£TrueµÄ»°¾Í´ú±íÄãÒªÌý»°£¬ÎÒÀÏ´ó£¨Ö÷Ị̈߳©³¶ºô£¬ÄãÒ²Òª¸ú×ų·£¬²»ÄÜÍϺóÍÈ¡£Èç¹ûÊÇ FalseµÄ»°¾Í²»ÓÃÄÇôÌý»°ÁË£¬ÀÏ´óÔÊÐíÄãÃǽ«ÔÚÍâ¾üÃüÓÐËù²»Êܵġ£ÐèҪעÒâµÄÊÇsetDaemon()·½·¨±ØÐëÔÚÏ̶߳ÔÏóûÓе÷ÓÃstart()·½·¨Ö®Ç°µ÷Ó㬷ñÔòûЧ¹û¡£

t1 = mythread('t1')
print t1.getName(),t1.isDaemon()
t1.setDaemon(True)
print t1.getName(),t1.isDaemon()
t1.start()
print 'main thread exit'

µ±Ö´Ðе½ print 'main thread exit' ºó£¬Ö÷Ï߳̾ÍÍ˳öÁË£¬µ±È»t1Õâ¸öÏß³ÌÒ²¸ú׎áÊøÁË¡£µ«ÊÇÈç¹û²»Ê¹ÓÃt1Ï̶߳ÔÏóµÄsetDaemon()·½·¨µÄ»°£¬¼´±ãÖ÷Ï߳̽áÊøÁË£¬»¹ÒªµÈ´ýt1Ïß³Ì×Ô¼º½áÊø²ÅÄÜÍ˳ö½ø³Ì¡£isDaemon()ÊÇÓÃÀ´»ñµÃÒ»¸öÏ̶߳ÔÏóµÄDaemonflag״̬µÄ¡£

ÈçºÎÀ´»ñµÃÓëÏß³ÌÓйصÄÐÅÏ¢ÄØ£¿

»ñµÃµ±Ç°ÕýÔÚÔËÐеÄÏ̵߳ÄÒýÓÃ

running = threading.currentThread()

»ñµÃµ±Ç°ËùÓл¶ÔÏ󣨼´run·½·¨¿ªÊ¼µ«ÊÇδÖÕÖ¹µÄÈκÎỊ̈߳©µÄÒ»¸öÁбí

threadlist = threading.enumerate()

»ñµÃÕâ¸öÁбíµÄ³¤¶È

threadcount = threading.activeCount()

²é¿´Ò»¸öÏ̶߳ÔÏóµÄ״̬µ÷ÓÃÕâ¸öÏ̶߳ÔÏóµÄisAlive()·½·¨£¬·µ»Ø1´ú±í´¦ÓÚ¡°runnable¡±×´Ì¬ÇÒûÓС°dead¡±

threadflag = threading.isAlive()
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ jove1782 µÄÖ÷Ìâ¸üÐÂ
¡î ÎÞÐǼ¶ ¡ï Ò»ÐǼ¶ ¡ï¡ï¡ï ÈýÐǼ¶ ¡ï¡ï¡ï¡ï¡ï ÎåÐǼ¶
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +10 Ò¼·¡·¡ÒÚ 2026-04-04 10/500 2026-04-05 13:59 by imissbao
[¿¼ÑÐ] 0817»¯Ñ§¹¤³ÌÓë¼¼ÊõÇóµ÷¼Á£¬Ò»Ö¾Ô¸Öк£Ñó319 +12 lv945 2026-04-04 12/600 2026-04-05 11:12 by imissbao
[¿¼ÑÐ] 348Çóµ÷¼Á +5 wukira 2026-04-04 5/250 2026-04-05 11:05 by xiayan13521
[¿¼ÑÐ] 083200 333Çóµ÷¼Á +3 Ê®¶þ£¡£¡ 2026-04-04 3/150 2026-04-05 08:28 by barlinike
[¿¼ÑÐ] Ò»Ö¾Ô¸±±¾©»¯¹¤´óѧ£¬³õÊԳɼ¨350Çóµ÷¼Á +9 ÑØ°¶?±´¿Ç 2026-04-04 14/700 2026-04-05 01:09 by ÑØ°¶?±´¿Ç
[¿¼ÑÐ] ²ÄÁÏ334Çóµ÷¼Á +15 Eecho# 2026-04-03 15/750 2026-04-04 23:05 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] 085601Ò»Ö¾Ô¸±±Àí325·ÖÇóµ÷¼Á +6 ÕÒµ÷¼Á£¬£¬ 2026-04-02 6/300 2026-04-03 22:20 by –¹Æ?
[¿¼ÑÐ] 311Çóµ÷¼Á +20 zchqwer 2026-04-01 22/1100 2026-04-03 22:09 by lglzsd
[¿¼ÑÐ] 070300Ò»Ö¾Ô¸211£¬312·ÖÇóµ÷¼ÁԺУ +16 С»ÆÑ¼±¦ 2026-03-30 16/800 2026-04-03 19:53 by lijunpoly
[¿¼ÑÐ] 303Çóµ÷¼Á +9 DLkz1314. 2026-03-30 9/450 2026-04-03 18:34 by lsÁõ˧
[¿¼ÑÐ] 366Çóµ÷¼Á +7 sbdnd 2026-04-03 7/350 2026-04-03 12:40 by cymywx
[¿¼ÑÐ] 260Çóµ÷¼Á +6 ÖìÜÆÁÕ 2026-04-02 6/300 2026-04-02 20:27 by 6781022
[¿¼ÑÐ] ²ÄÁϹ¤³Ì322·Ö +8 ¹þ¹þ¹þºðºðºð¹þ 2026-04-01 8/400 2026-04-02 11:53 by 3041
[¿¼ÑÐ] 324Çóµ÷¼Á +5 ÏëÉÏѧÇóµ÷ 2026-04-01 6/300 2026-04-02 10:16 by sanrepian
[¿¼ÑÐ] Ò»Ö¾Ô¸±±¾©¿Æ¼¼£¬085601×Ü·Ö305Çóµ÷¼Á +9 °ëÉú¹Ï£¡ 2026-04-01 11/550 2026-04-02 08:28 by Wang200018
[¿¼ÑÐ] Ò»Ö¾Ô¸°²»Õ´óѧ¼ÆËã»ú¿ÆÑ§Óë¼¼Êõѧ˶£¬331·ÖÇóµ÷¼Á +5 ½¯²ýÅôqtj 2026-04-01 5/250 2026-04-02 08:10 by fxue1114
[¿¼ÑÐ] °²È«¹¤³Ì 285 Çóµ÷¼Á +3 Xinyu56 2026-04-01 4/200 2026-04-01 21:50 by ¾²¾²¾²¾²¾²¾²¾²¾
[¿¼ÑÐ] 0710ÉúÎïѧÇóµ÷¼Á£¡ +6 ÐðÊöÎÄ 2026-03-31 6/300 2026-04-01 09:39 by JourneyLucky
[¿¼ÑÐ] ¿¼ÑвÄÁϹ¤³Ì351·Öµ÷¼Á +5 Õû¸öºÃµÄ 2026-03-31 5/250 2026-04-01 09:36 by topgun2009
[¿¼ÑÐ] 279Çóµ÷¼Á +12 jµÄÁ¢·½ 2026-03-29 12/600 2026-03-30 20:30 by dick_runner
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û