---------------------------
Thread |
---------------------------
# ¶àÏß³ÌÆô¶¯¶ÔÏó
# ¹¹Ôì·½·¨
Thread t = new Thread();
Thread t = new Thread(Runnable r);
---------------------------
Thread-ÊôÐÔ |
---------------------------
# ¾²Ì¬ÊôÐÔ
# ʵÀýÊôÐÔ
---------------------------
Thread-·½·¨ |
---------------------------
# ¾²Ì¬·½·¨
Thread currentThread();
* ·µ»Øµ±Ç°µÄÏ̶߳ÔÏó
sleep(long l);
* µ±Ç°Ïß³ÌÍ£Ö¹ l ºÁÃë
Map getAllStackTraces()
* »ñÈ¡µ½JVMÖÐËùÓÐÏ̵߳ÄÖ´ÐÐÕ»
# ʵÀý·½·¨
getName();
* ·µ»ØÏß³ÌÃû³Æ
void setPriority(int newPriority)
* ÉèÖÃÏ̵߳ÄÓÅÏȼ¶
* Thread ÀàÌṩÁËN¶àµÄ¾²Ì¬±äÁ¿Öµ
int getPriority()
* »ñÈ¡Ï̵߳ÄÓÅÏȼ¶
void interrupt()
* ÖжÏÏß³Ì
boolean isInterrupted()
* Ïß³ÌÊÇ·ñ±»ÖжÏ
void join();
* µ÷Óø÷½·¨µÄÏ̻߳áÒ»Ö±×èÈû,Ö±µ½¸ÃÏß³Ì(join ·½·¨µÄ Thread Ïß³Ì)Ö´ÐÐÍê±Ïºó²ÅÍùÏÂÖ´ÐÐ
void setDaemon(boolean on)
* ÉèÖÃΪµ±Ç°Ï̵߳ÄÊØ»¤Ïß³Ì
* ±ØÐëÔÚµ÷Óà start() ·½·¨Ö®Ç°ÉèÖÃ
void stop();
* ±©Á¦Í£Ö¹¸ÃÏß³Ì
void setContextClassLoader(ClassLoader cl)
ClassLoader getContextClassLoader()
* ÉèÖÃ/»ñÈ¡µ±Ç°Ï̳߳ÌÐòÖÐʹÓÃµÄ classloader
---------------------------
Thread µÄÖжϻúÖÆ |
---------------------------
# ÿ¸öÏ̶߳¼ÓÐÒ»¸ö "ÖжÏ" ±êÖ¾,ÕâÀï·ÖÁ½ÖÖÇé¿ö
# Ïß³ÌÔÚsleep»òwait(×èÈû),join ....
* ´ËʱÈç¹û±ðµÄ½ø³Ìµ÷Óô˽ø³Ì(Thread ¶ÔÏó)µÄ interrupt()·½·¨,´ËÏ̻߳ᱻ»½ÐѲ¢±»ÒªÇó´¦Àí InterruptedException
* (threadÔÚ×öIO²Ù×÷ʱҲ¿ÉÄÜÓÐÀàËÆÐÐΪ,¼ûjava thread api)
* Òì³£·¢Éúºó,»áÖØÖÃÕâ¸ö±êʶλΪ false
# ´ËÏß³ÌÔÚÔËÐÐÖÐ
* ´ËʱÈç¹û±ðµÄ½ø³Ìµ÷Óô˽ø³Ì(Thread ¶ÔÏó)µÄ interrupt()·½·¨,²»»áÊÕµ½ÌáÐÑ,µ«ÊÇ´ËÏß³ÌµÄ "ÖжÏ" »á±»ÉèÖÃΪ true
* ¿ÉÒÔͨ¹ý isInterrupted() ²é¿´²¢×÷³ö´¦Àí