从你的全世界路过-论演员的自我修养
?線程
1.概念 ?: 線程是一個程序內(nèi)部的順序控制流
2.線程與進(jìn)程的區(qū)別?
? (1)每個進(jìn)程都有獨(dú)立的代碼和數(shù)據(jù)空間(進(jìn)程上下文),進(jìn)程間的切換會有較大的開銷
? (2) 線程可以看做輕量級的進(jìn)程,同一線程共享代碼和數(shù)據(jù)空間。每個線程有獨(dú)立的運(yùn)行棧和程序計數(shù)器PC,線程切換的開銷小
? (3) 多進(jìn)程 在操作系統(tǒng)中同時運(yùn)行多個任務(wù)(程序)
? (4) 多線程:在同一應(yīng)用和程序中有多個順序流同時進(jìn)行
3 注意點
? (1)java 的線程是通過java.lang.Threadl類來實現(xiàn)的
? (2)VM啟動時會有一個由主方法 (public void main (){}) 所定義的線程
? (3)可以通過創(chuàng)建Thread的實例來創(chuàng)建線程
? (4)每個線程都是通過某個特定Thread對象所對應(yīng)的方法 run()來完成操作的 方法run()成為線程體
? (5)通過調(diào)用Thread類的start()方法來啟動一個線程。
4 創(chuàng)建線程的方式
? (1)第一種
? ? ? ? ?(I) 定義線程類實現(xiàn)Runnable接口
? ? ? ? ?(I) Thread myThread=new Thread(target) //target 為Runnable接口類型
? ? ? ? ?(I) Runnable中只有一個方法;
? ? ? ? ? ? ? ? ? ? [I] public void run(){} ?// 用以定義線程運(yùn)行體
? ? ? ? ?(I)使用Runnable接口可以為多個線程提供共享的數(shù)據(jù)
? ? ? ? ?(I)在實現(xiàn)Runnable接口的類的run方法定義中可以使用Thread的靜態(tài)方法;
? ? ? ? ? ? ? ? ? ?[I] public static Thread currentThread() 獲取當(dāng)前線程的引用
?(2)第二種 ? ??
? ? ? ? (I) 可以定義一個Thread的子類并重寫run()方法 如:
? ? ? ? ? ? ? ? ? ? ? class MyThread extends Thread{
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?public ?void run(){......}
? ? ? ? ? ? ? ? ? ? ?}
? ? ? ?(I) 然后生成該類的對象:
? ? ? ? ? ? ? ? ? ? ? MyThread mythread =new MyThread(..........)
public class Actor extends Thread {public void run(){System.out.println(getName()+"是一個演員");int count =0;boolean keepRunning=true;while(keepRunning){System.out.println(getName()+"登臺演出"+(++count)); if(count==100){keepRunning=false;}if(count%10==0){try {Thread.sleep(1000); //線程休眠} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}System.out.println(getName()+"的演出結(jié)束了");}?
public class Actress implements Runnable {public void run() {System.out.println(Thread.currentThread().getName()+"是一個演員!");int count =0;boolean keepRunning=true;while(keepRunning){System.out.println(Thread.currentThread().getName()+"登臺演出"+(++count)); if(count==100){keepRunning=false;}if(count%10==0){try {Thread.sleep(1000); //線程休眠} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}System.out.println(Thread.currentThread().getName()+"的演出結(jié)束了");}}
public static void main(String [] args){Thread actor=new Actor();actor.setName("Mr.Thread");actor.start();Thread actressThread=new Thread (new Actress(),"Mrs.Runnable");actressThread.start();}
?
轉(zhuǎn)載于:https://www.cnblogs.com/bosk/p/6847500.html
總結(jié)
以上是生活随笔為你收集整理的从你的全世界路过-论演员的自我修养的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无线传感器网络复习大纲
- 下一篇: 恒生PB与讯投PB区别