从你的全世界路过-论演员的自我修养
?線程
1.概念 ?: 線程是一個(gè)程序內(nèi)部的順序控制流
2.線程與進(jìn)程的區(qū)別?
? (1)每個(gè)進(jìn)程都有獨(dú)立的代碼和數(shù)據(jù)空間(進(jìn)程上下文),進(jìn)程間的切換會(huì)有較大的開(kāi)銷
? (2) 線程可以看做輕量級(jí)的進(jìn)程,同一線程共享代碼和數(shù)據(jù)空間。每個(gè)線程有獨(dú)立的運(yùn)行棧和程序計(jì)數(shù)器PC,線程切換的開(kāi)銷小
? (3) 多進(jìn)程 在操作系統(tǒng)中同時(shí)運(yùn)行多個(gè)任務(wù)(程序)
? (4) 多線程:在同一應(yīng)用和程序中有多個(gè)順序流同時(shí)進(jìn)行
3 注意點(diǎn)
? (1)java 的線程是通過(guò)java.lang.Threadl類來(lái)實(shí)現(xiàn)的
? (2)VM啟動(dòng)時(shí)會(huì)有一個(gè)由主方法 (public void main (){}) 所定義的線程
? (3)可以通過(guò)創(chuàng)建Thread的實(shí)例來(lái)創(chuàng)建線程
? (4)每個(gè)線程都是通過(guò)某個(gè)特定Thread對(duì)象所對(duì)應(yīng)的方法 run()來(lái)完成操作的 方法run()成為線程體
? (5)通過(guò)調(diào)用Thread類的start()方法來(lái)啟動(dòng)一個(gè)線程。
4 創(chuàng)建線程的方式
? (1)第一種
? ? ? ? ?(I) 定義線程類實(shí)現(xiàn)Runnable接口
? ? ? ? ?(I) Thread myThread=new Thread(target) //target 為Runnable接口類型
? ? ? ? ?(I) Runnable中只有一個(gè)方法;
? ? ? ? ? ? ? ? ? ? [I] public void run(){} ?// 用以定義線程運(yùn)行體
? ? ? ? ?(I)使用Runnable接口可以為多個(gè)線程提供共享的數(shù)據(jù)
? ? ? ? ?(I)在實(shí)現(xiàn)Runnable接口的類的run方法定義中可以使用Thread的靜態(tài)方法;
? ? ? ? ? ? ? ? ? ?[I] public static Thread currentThread() 獲取當(dāng)前線程的引用
?(2)第二種 ? ??
? ? ? ? (I) 可以定義一個(gè)Thread的子類并重寫(xiě)run()方法 如:
? ? ? ? ? ? ? ? ? ? ? class MyThread extends Thread{
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?public ?void run(){......}
? ? ? ? ? ? ? ? ? ? ?}
? ? ? ?(I) 然后生成該類的對(duì)象:
? ? ? ? ? ? ? ? ? ? ? MyThread mythread =new MyThread(..........)
public class Actor extends Thread {public void run(){System.out.println(getName()+"是一個(gè)演員");int count =0;boolean keepRunning=true;while(keepRunning){System.out.println(getName()+"登臺(tái)演出"+(++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()+"是一個(gè)演員!");int count =0;boolean keepRunning=true;while(keepRunning){System.out.println(Thread.currentThread().getName()+"登臺(tái)演出"+(++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é)
以上是生活随笔為你收集整理的从你的全世界路过-论演员的自我修养的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 无线传感器网络复习大纲
- 下一篇: matlab最佳拟合的指标是什么意思,M