<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦>論文大全>論文寫作指導>

        論文中的頁碼怎么設置頁碼

        時間: 家文952 分享

          論文反映出作者能夠準確地掌握所學的專業基礎知識,那論文中的頁碼怎么設置頁碼呢?下面小編給大家分享一些論文中的頁碼怎么設置頁碼的方法,大家快來跟小編一起欣賞吧。

          論文中的頁碼怎么設置頁碼

          一、 在菜單欄選擇插入,進入頁腳選項,在彈出的窗口點擊編輯頁腳

          二、接著在菜單欄會出現設計這一選項,點擊頁碼,在彈出的窗口選擇頁面底端,然后出現底端各種樣式,一般選擇居中的頁碼也就是選擇普通數字2

          三、點擊普通數字2選項

          四、有時我們的畢業論文需要用到其他的頁碼,而非普通的阿拉伯數字,這時就需要在頁碼選項點擊設置頁碼格式選項

          五、在頁碼格式窗口,選擇編號格式,起始頁碼,點擊確定.

          六、最后在頁腳就出現數字

          關于java的論文范文

          Java多線程技術

          摘要:本文首先介紹了線程的有關概念, 接著介紹了線程的生命期及其狀態間的轉換, 多線程的調度原則, 線程的死鎖, 詳細闡述了多線程的兩種實現方法:由Thread類派生子類;實現Runnable接口。

          關鍵詞:Java語言; 進程; 多線程;線程調度;死鎖

          中圖分類號:TP312JA 文獻標識碼:A

          1 引言

          多線程編程是Java語言的一個重要特色,Java對創建多線程程序提供了廣泛的支持,Java的多線程是一個類或程序執行和管理多個線程的能力,每個執行線程可獨立執行其他線程或與其他線程同步執行。Java的多線程機制能夠很方便地創建和運行多個獨立的線程的程序,并且可以創建多個同步線程,實現多個任務的同步執行,這一機制對于實現資源共享、防止“死鎖”現象的出現極為有用。多線程的程序能更好地表達和解決具體問題,是計算機應用開發和程序實現的發展趨勢。

          2 Java語言的線程

          2.1線程相關的概念

          程序是解決某一問題的代碼系列,是一段靜態的代碼。進程是一個動態的概念,它是程序的一次動態執行過程,對應代碼從加載、運行開始到運行完畢的一個完整的過程,這個過程是進程從產生、發展到消亡的過程。線程又稱為“輕量進程”,是進程中一個順序的執行流,一個進程在其執行的過程中,可以形成多個執行線索,每個執行線索就是一個線程。線程也是一個動態的概念,它對應一個程序段的一次動態的執行過程。一個進程中可以包含一個或多個線程,線程是比進程更小的單元。

          多線程指的是在一個程序中可以同時運行多個不同的線程,即一個程序中包含有多個執行流,借以執行不同的任務。

          雖然線程與進程都是順序執行的指令序列,但它們之間是有區別的。一方面,進程是一個實體,每個進程都有自己獨立的狀態,并有自己的專用數據段;創建進程時,必須建立和復制其專用數據段。而線程則相互共享數據段,同一程序中的所有線程只有一個數據段,以避免進行無謂的數據復制,因此線程的建立和線程間的切換速度大大優于進程。另一方面,線程又具備進程的大多數優點。但是,由于多個線程共享一個數據段,所以,也出現了數據訪問過程的互斥和同步問題,使得系統管理功能變得相對復雜。

          將進程劃分成多個線程,目的是為了實現并行程序設計,在同一地址空間中執行多個控制流,減少并行執行時進程間切換的系統開銷,因此可以大大提高應用程序的執行效率。

          2.2線程的生命期與狀態轉換

          線程同進程一樣,是一個動態的概念,所以線程同進程一樣,也有一個從產生到消亡的生命周期,在其生命周期中,程序可以對線程進行各種控制操作。一個新建的線程的生命期中有如下5種狀態。

          (1)新建態(Newborn)

          當線程用new運算符創建但還未執行的這段時間里,它處于新建狀態中,此時,線程對象已被分配了相應的內存空間并被初始化。

          創建線程的語句可以表示如下:Threaadt1=newThread( );

          (2)就緒狀態或可運行狀態(Runnable)

          當新建的線程調用start( )啟動方法后,就會由新建態進入可運行態。可運行態的線程進入線程隊列排隊等待CPU資源,隨時可以被調度執行。至于可運行態的線程何時才被真正執行,則取決于線程的優先級和排隊隊列的當前狀況。

          使線程對象t1由新建態進入可運行態的語句可以表示如下:

          t1.start( );

          (3)運行態(Running)

          當可運行的線程被CPU調度后,就進入運行態,運行態表明線程正在運行,即線程對象正在調用本對象的run( )方法。

          (4)掛起態(Blocked)

          一個正在運行的線程遇到某些特殊情況時,將會進入掛起態。如果一個線程處于掛起狀態,這個線程暫時無法進入排隊隊列。

          (5)消亡態(Dead)

          表示線程已退出運行狀態,不再具有繼續運行的能力。線程消亡的原因有兩種: 一是線程正常運行終止, 即調用完run( )方法自然消亡: 二是非正常消亡, 例如執行了stop( )方法或destory()方法。

          2.3線程的優先級與調度

          Java 提供一個線程調度器來監控啟動后進入就緒狀態的所有線程。線程調度器根據線程的優先級決定調度線程的先后順序,優先級高的線程先調度,優先級低的線程后調度。同時,線程的調度又是搶先式的,如果在當前線程的執行過程中,一個具有更高優先級的線程進入就緒狀態,則這個高優先級的線程將立即被調度執行。

          線程的優先級的范圍是1~10,Thread類用3個常量來表示線程的優先級,分別為:Thread.MIN_PRIORITY, 優先級為1,Thread.MAX_PRIORITY, 優先級為10,Thread.NORM_PRIORITY, 即為缺省優先級5,通過setPriority( )方法可以改變線程的優先級。

          3 Java多線程的實現

          在Java中,多線程的實現方式有兩種:可以由線程Thread類派生子類,由子類生成的對象來實現多線程;也可以直接定義一個線程類來實現Runnable接口,由該線程類生成對象來實現多線程。下面分別介紹兩種方法實現多線程的過程。

          3.1由Thread類派生子類

          Thread是一個具體的類,它封裝了線程的所有行為。Thread類負責向其他類提供線程的最主要的功能,為了向一個類增加線程功能,可以由Thread類派生一個子類并同時覆蓋run( )方法。run( )方法是是線程執行的起點,可以通過定義run( )方法來為線程提供代碼。

          下面的程序由Thread類來構造多線程。

          classThreadExample

          {public static void main(String args[])

          {subThreadt1=newsubThread(“thread1”);//創建線程對象

          subThreadt2=newsubThread(“thread2”);

          t1.start( ); //啟動線程

          t2.start( );

          try{ Thread.currentThread( ).sleep(500); //當前線程睡眠500毫秒

          }

          catch(InterruptedExceptione)

          {System.out.println(Thread.currentThread( ) +“線程睡眠500毫秒”); }

          }

          }

          classsubThreadextends Thread

          {public voidrun( )

          {for(int j=0;j<3;j++)

          System.out.println(Thread.currentThread( )+“運行”+j+“次”);

          try{Thread.currentThread( ).sleep((int)(Math.random()*300);

          //當前線程睡眠時間為隨機數。

          }catch(InterruptedExceptione)

          { System.out.println(“線程睡眠時間在0~300毫秒間!”); }

          }

          }

          該例中通過兩個線程睡眠,從而讓兩個線程交互運行。

          3.2實現Runnable接口

          實現Runnable接口是在程序中使用線程的另一種方法。在某些情況下,一個類已經擴展了Frame或Applet, 因而這樣的類不能再繼承Thread類。Runnable接口為一個類提供了一種無須擴展Thread類就可以執行一個新的線程的方法。這種創建線程的方法更具靈活性,也使用戶線程能夠具有其他的一些類的特征。

          Runnable接口是定義在java.lang包中的一個接口,其聲明如下:

          publicinterfacejava.lang.Runnable

          {public abstract void run( );}

          下面的程序由實現Runnable接口來構造多線程。

          publicclassThreadExample2implementsRunnable

          { ThreadExample2 ( )//構造方法

          {Threadt1=Thread.currentThread( ); //創建線程t1

          t1.setName(“The first main thread”);

          t1.start( ); //啟動線程t1

          System.out.println(“The running thread:”+Thread1 );

          Threadt2=new Thread(this,“the second thread”); //創建線程t2

          System.out.println(“creat another thread”);

          t2.start();////啟動線程t2

          }

          public void run( )

          {try{

          for(int i=0;i<4;i++)

          {

          System.out.println(“Sleep time for thread:”+i);

          Thread.sleep(800);

          }

          }

          catch(InterruptedExceptione)

          {System.out.println(“thread has wrong”); }

          }

          publicstaticvoidmain(Stringargs[ ])

          {newThreadExample2 ( ); }

          }

          3.3 實現多線程兩種方法的比較

          Thread類最重要的方法是run(),該方法被Thread類的start( )啟動方法所調用。要繼承Thread類,就得覆蓋方法run(),在run( )方法體中加入線程所要執行的代碼。缺點是如果一個類繼承了其他類,如Frame類或Applet類,就無法再繼承Thread類,這種情況下必須再創建新類。

          Runnable接口中聲明了一個抽象方法run( ),某一個自定義類實現Runnable接口,就是在該類的類體中,將用戶線程代碼寫入run()方法的方法體。Runnable接口本身不支持線程,但可通過創建Thread類的對象來實現。使用Runnable接口來實現多線程能在一個類中包含所有的代碼,利于封裝,缺點是只能使用一套代碼,若要創建多個不同的線程代碼并執行,仍需另外創建類。

          4 實現多線程時避免死鎖

          由于系統資源有限,程序中的多個程序互相等待對方資源,而在得到對方資源前不會釋放自己的資源,造成都想得到資源而又都得不到資源,從而導致線程不能繼續執行,這就是死鎖問題。例如,一個線程持有對象A,另一個線程持有對象B,第一個線程在持有對象A,但必須擁有第二個線程所持有的對象B才能執行;同樣,第二個線程在持有對象B,但必須擁有第一個線程所持有的對象A才能執行,這兩個線程就會無限期地阻塞,這時,線程的死鎖就發生了。

          線程的死鎖很少發生,但一旦發生就很難調試。應盡量避免死鎖的發生。

          為了防止死鎖現象的發生,在多線程程序設計時可遵循如下原則:

          (1)盡量少采用多線程來進行程序設計

          (2)在對象的同步方法中調用其它的同步方法要小心

          (3)在synchronized封裝的塊中的執行時間盡可能地短,需要長時間運行的任務盡量不要放在synchronized封裝的同步塊中。

          5 結束語

          多線程在計算機應用中具有非常積極的意義和廣闊的應用前景。利用Java的多線程特性可方便地編寫高效率、安全的多線程應用程序。多線程編程增強了程序的交互性,降低了編寫復雜任務處理程序的難度,改善了多處理器的性能并增大了數據的吞吐量。當然Java在實現多線程時也有缺點:如對線程的管理會增加CPU的額外負擔等。

          參考文獻

          [1]耿祥義等.Java2實用教程[M].北京:清華大學出版社,2004.

          [2]趙海廷等.Java語言程序設計[M].武漢:武漢大學出版社,2005.

          [3]朱福喜等.Java語言與面向對象程序設計[M].武漢:武漢大學出版社,2000.

          
        看了“論文中的頁碼怎么設置頁碼_怎么設置論文中的頁碼”的人還看:

        1.論文的頁碼怎樣設置

        2.畢業論文的頁碼如何設置頁碼

        3.畢業論文怎么設置頁碼呢

        4.畢業論文的頁碼怎么設置頁碼

        5.論文怎么從正文開始設置頁碼

        2576126 主站蜘蛛池模板: 国产精品无码无卡在线观看久| 热99精品视频| 国产91麻豆免费观看| 日韩人妻无码精品系列| 久久精品国产亚洲AⅤ无码| 9l精品人妻中文字幕色| 最新国产精品好看的精品| 无码av不卡免费播放| 亚洲清纯自偷自拍另类专区| 亚洲欧美一区二区三区麻豆| 日韩精品成人区中文字幕| 色吊a中文字幕一二三区| 人妻系列无码专区免费| 九九热在线视频观看这里只有精品| 国产精品天干天干综合网| 国产suv精品一区二区四| 精品熟女日韩中文十区| 久久一区二区三区黄色片| 九九热在线精品视频99| 亚洲色欲色欲WWW在线丝| 全球成人中文在线| 天天综合网网欲色| 痉挛高潮喷水av无码免费| 4480yy亚洲午夜私人影院剧情 | 国内精品伊人久久久久av| 欧美、另类亚洲日本一区二区| 日韩欧美国产v一区二区三区| 亚洲第一无码AV无码专区| 欧美性色黄大片www喷水| 老司机精品成人无码AV| 欧美18videosex性欧美tube1080| 少妇又紧又色又爽又刺激视频| 日韩黄色av一区二区三区 | 老司机精品成人无码AV| 国产精品成人午夜久久| 亚洲国产成人精品福利无码| 国产偷国产偷亚洲高清午夜| 一本大道无码日韩精品影视| 韩国午夜理论在线观看| 久久国产精品老女人| 亚洲一二区在线视频播放|