<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Kotlin 協(xié)程是個什么東西?

          共 23563字,需瀏覽 48分鐘

           ·

          2021-05-20 12:05

          相關閱讀:一個90后員工猝死的全過程

          協(xié)程是什么

          根據(jù)維基百科的定義,協(xié)程(Coroutine)是計算機程序的一類組件,推廣了協(xié)作式多任務的子程序,允許執(zhí)行被掛起與被恢復。

          協(xié)程(Coroutine)并不是一個新詞,馬爾文·康威于1958年發(fā)明了術(shù)語“coroutine”,并將它用于匯編程序。而在其他語言,如Go、Python也都有協(xié)程的概念,所以它也不是Kotlin獨有的。

          在不同的語言層面上,協(xié)程的實現(xiàn)方式是不太一樣的,本文介紹的Kotlin協(xié)程在本質(zhì)上,它是一種輕量級的線程

          Kotlin協(xié)程是運行在線程中的,這里的線程可以是單線程,也可以是多線程。在單線程使用協(xié)程,比不使用協(xié)程的耗時并不會少。

          上面介紹的都是協(xié)程的一些概念,以及Kotlin協(xié)程的特點。那究竟為什么會有Kotlin協(xié)程?它究竟比線程好在哪里?我們繼續(xù)往下看。

          Kotlin協(xié)程初認識

          在Kotlin中,協(xié)程就是線程的封裝,它提供了一套標準的API來幫助我們寫并發(fā)任務。回想一下,在Java和Android中,我們是怎么寫并發(fā)任務的?

          Java實現(xiàn)多任務并發(fā)

          在Java中,我們可以使用線程或者線程池來實現(xiàn)多任務并發(fā):

          //線程
          new Thread(new Runnable() {
              @Override
              public void run() {
                  //耗時的工作
              }
          }).start();

          //線程池
          ExecutorService executor = Executors.newFixedThreadPool(3);
          executor.execute(new Runnable() {
              @Override
              public void run() {
                  //耗時的工作
              }
          });

          Android實現(xiàn)多任務并發(fā)

          在Android中,除了可以通過Java的方式,創(chuàng)建線程、使用線程池實現(xiàn)多任務并發(fā)之外,還可以AsyncTask等方式來實現(xiàn)多個耗時任務的并發(fā)執(zhí)行:

          //AsyncTask
          public abstract class AsyncTask<Params, Progress, Result> {
            //線程池中執(zhí)行,執(zhí)行耗時任務
            protected abstract Result doInBackground(Params... params);
            //UI線程中執(zhí)行,后臺任務進度有變化則執(zhí)行該方法
            protected void onProgressUpdate(Progress... values) {}
            //UI線程執(zhí)行,耗時任務執(zhí)行完成后,該方法會被調(diào)用,result是任務的返回值
            protected void onPostExecute(Result result) {}
          }

          無論是Java還是Android提供的組件,都可以實現(xiàn)多任務并發(fā)的執(zhí)行,但是上面的組件都或多或少存在著問題:

          • 耗時任務執(zhí)行結(jié)束后,子線程要將結(jié)果傳遞回主線程,兩者之間的通信不太方便。
          • AsyncTask處理的回調(diào)方法比較多,當有多個任務時可能會出現(xiàn)回調(diào)嵌套。

          協(xié)程實現(xiàn)多任務并發(fā)

          繼續(xù)以AsyncTask舉個??:

          AsyncTask<String, Integer, String> task = new AsyncTask<String, Integer, String>() {
              @Override
              protected String doInBackground(String... strings) {
                  String userId = getUserId(); //獲取userId
                  return userId;
              }

              @Override
              protected void onPostExecute(final String userId) {
                  AsyncTask<String, Integer, String> task1 = new AsyncTask<String, Integer, String>() {
                      @Override
                      protected String doInBackground(String... strings) {
                          String name = getUserName(userId); //獲取userName,需要用到userId
                          return name;
                      }

                      @Override
                      protected void onPostExecute(String name) {
                          textView.setText(name); //設置到TextView控件中
                      }
                  };
                  task1.execute(); //假設task1是一個耗時任務,去獲取userName
              }
          };
          task.execute(); //假設task是一個耗時任務,去獲取userId

          如果是使用協(xié)程,上面的例子可以簡化為:

          GlobalScope.launch(Dispatchers.Main) {
              val userId = getUserId() //耗時任務,這里會切換到子線程
              val userName = getUserName(userId) //耗時任務,這里會切換到子線程
              textView.text = userName //設置到TextView控件中,切換到主線程
          }

          suspend fun getUserId(): String = withContext(Dispatchers.IO) {
              //耗時操作,返回userId
          }

          suspend fun getUserName(userId: String): String = withContext(Dispatchers.IO) {
              //耗時操作,返回userName
          }

          上面launch函數(shù)的{}的邏輯,就是一個協(xié)程。

          相比于AsyncTask的寫法,使用kotlin協(xié)程有以下好處:

          • 協(xié)程將耗時任務和UI更新放在了上下三行處理,消除了AsyncTask的回調(diào)嵌套,使用起來更加方便、簡潔。
          • 協(xié)程通過掛起與恢復,將耗時任務的結(jié)果直接返回給調(diào)用方,使得主線程能直接使用子線程的結(jié)果,UI更新更加方便。

          Kotlin協(xié)程的接入與使用

          怎么接入

          在模塊的build.gradle中加入以下依賴:

          dependencies {
              implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$1.3.9"
              implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9"
          }

          怎么使用

          Kotlin提供了三種方式來創(chuàng)建協(xié)程,如下所示:

          //方式一
          runBlocking { //runBlocking是一個頂級函數(shù)
             ...
          }

          //方式二
          GlobalScope.launch { //GlobalScope是一個單例對象,直接使用launch開啟協(xié)程
             ...
          }

          //方式三
          val coroutineScope = CoroutineScope(context) //使用CoroutineContext創(chuàng)建CoroutineScope對象,通過launch開啟協(xié)程
          coroutineScope.launch {
             ...
          }
          • 方式一:它是線程阻塞的,它通常被用在單元測試和main函數(shù)中,平時的開發(fā)中我們一般不會用到它。
          • 方式二:與方式一相比,它不會阻塞線程,但是它的生命周期和應用是一致的,而且無法做到取消(后面會講到),所以也不推薦使用。
          • 方式三:通過CoroutineContext來創(chuàng)建一個CoroutineScope對象,通過CoroutineScope.launchCoroutineScope.async可以開啟協(xié)程,通過CoroutineContext也可以控制協(xié)程的生命周期。在開發(fā)過程中,一般推薦使用這種方式開啟協(xié)程。

          CoroutineContext

          上面說到推薦使用CoroutineScope.launch開啟協(xié)程,而不管是GlobalScope.launch還是CoroutineScope.launchlaunch方法的第一個參數(shù)就是CoroutineContext,源碼如下:

          public fun CoroutineScope.launch(
              context: CoroutineContext = EmptyCoroutineContext,
              start: CoroutineStart = CoroutineStart.DEFAULT,
              block: suspend CoroutineScope.() -> Unit
          ): Job {
              ...
          }

          這里的context,即CoroutineContext,它的其中一個作用是起到線程切換的功能,即協(xié)程體將運行在CoroutineContext表征的指定的線程中。

          Kotlin協(xié)程官方定義了幾個值,可供我們在開發(fā)過程中使用,它們分別是:

          • Dispatchers.Main

          協(xié)程體將運行在主線程,用于UI的更新等需要在主線程執(zhí)行的場景,這個大家應該都清楚。

          • Dispatchers.IO

          協(xié)程體將運行在IO線程,用于IO密集型操作,如網(wǎng)絡請求、文件操作等場景。

          • Dispatchers.Default

          協(xié)程體將運行在默認的線程,context沒有指定或指定為Dispatchers.Default,都屬于這種情況。用于CPU密集型,如涉及到大量計算等場景。要特別注意的是,這里的默認線程,其實和上面的IO線程共享同一個線程池。

          • Dispatchers.Unconfined

          不受限的調(diào)度器,在開發(fā)中不應該使用它,暫不研究。

          看一下下面這個例子:

          GlobalScope.launch(Dispatchers.Main) {
              println("Main Dispatcher,  currentThread=${Thread.currentThread().name}")
          }
          GlobalScope.launch {
              println("Default Dispatcher1, currentThread=${Thread.currentThread().name}")
          }
          GlobalScope.launch(Dispatchers.IO) {
              println("IO Dispatcher,  currentThread=${Thread.currentThread().name}")
          }
          GlobalScope.launch(Dispatchers.Default) {
              println("Default Dispatcher2, currentThread=${Thread.currentThread().name}")
          }

          程序運行結(jié)果如下:

          可以看到,Dispatchers.Main調(diào)度器的協(xié)程運行在主線程,而無調(diào)度器、Dispatchers.IODispatchers.Default調(diào)度器的協(xié)程運行在同一個線程池。

          launch與async

          上面提到可以使用launch來創(chuàng)建一個協(xié)程,但是除了使用launch之外,Kotlin還提供了async來幫助我們創(chuàng)建協(xié)程。兩者的區(qū)別是:

          • launch:創(chuàng)建一個協(xié)程,返回一個Job,但是并不攜帶協(xié)程執(zhí)行后的結(jié)果。
          • async:創(chuàng)建一個協(xié)程,返回一個Deferred(也是一個Job),并攜帶協(xié)程執(zhí)行后的結(jié)果。

          async返回的Deferred是一個輕量級的非阻塞future,它代表的是一個將會在稍后提供結(jié)果的promise,所以它需要使用await方法來得到最終結(jié)果。拿Kotlin官方的一個例子對async進行說明:

          val one = async { doSomethingUsefulOne() }
          val two = async { doSomethingUsefulTwo() }
          println("The answer is ${one.await() + two.await()}")

          suspend fun doSomethingUsefulOne(): Int {
              delay(1000L) // 假設我們在這里做了些有用的事
              return 13
          }

          suspend fun doSomethingUsefulTwo(): Int {
              delay(1000L) // 假設我們在這里也做了些有用的事
              return 29
          }

          執(zhí)行上述代碼,得到的結(jié)果是:

          The answer is 42

          Kotlin協(xié)程的使用場景

          線程切換

          在介紹《CoroutineContext》一節(jié)時,舉的例子中的協(xié)程還是運行在單一線程中。在實際開發(fā)過程中,常見的場景就是線程的切換與恢復,這需要用到withContext方法了。

          withContext

          我們繼續(xù)以《與線程的對比》這一節(jié)的例子來說明:

          GlobalScope.launch(Dispatchers.Main) {
              val userId = withContext(Dispatchers.IO) {
                  getUserId() //耗時任務,這里會切換到子線程
              }
              textView.text = userId //設置到TextView控件中,切換到主線程
          }

          上面是一個典型的網(wǎng)絡請求場景:一開始運行在主線程,然后需要到后臺獲取userId的值(這里會執(zhí)行getUserId方法),獲取結(jié)束,結(jié)果返回后,會切換回主線程,最后更新UI控件。

          在獲取userId的時候,調(diào)用了getUserId方法,這里用到了withContext方法,將線程從main切換到了IO線程,當耗時任務執(zhí)行結(jié)束后(即上面的getUserId方法執(zhí)行完畢),withContext的另外一個作用是恢復到切換子線程前的所在線程,對應上面的例子是main線程,所以我們才能做更新UI控件的操作。

          我們也可以將withContext的邏輯單獨放到一個方法去管理,如下所示:

          GlobalScope.launch(Dispatchers.Main) {
              val userId = getUserIdAsync()
              textView.text = userId //設置到TextView控件中,切換到主線程
          }

          fun getUserIdAsync() = withContext(Dispatchers.IO) {
              getUserId() //耗時任務,這里會切換到子線程
          }

          這樣看上去就像在使用同步調(diào)用的方式執(zhí)行異步邏輯,但是如果按照上面的方式來寫,IDE會報錯的,提示信息是:Suspend function'withContext' should be called only from a coroutine or another suspend funcion

          意思是withContext是一個suspend方法,它需要在協(xié)程或另外一個suspend方法中被調(diào)用。

          suspend

          suspend是Kotlin協(xié)程的一個關鍵字,它表示 “掛起” 的意思。所以上面的報錯,只要加上suspend關鍵字就能解決,即:

          GlobalScope.launch(Dispatchers.Main) {
              val userId = getUserIdAsync()
              textView.text = userId //設置到TextView控件中,切換到主線程
          }

          suspend fun getUserIdAsync() = withContext(Dispatchers.IO) {
              getUserId() //耗時任務,這里會切換到子線程
          }

          當代碼執(zhí)行到suspend方法時,當前協(xié)程就會被掛起,這里所說的掛起是非阻塞的,也就是說它不會阻塞當前所在的線程。這就是所謂的“非阻塞式掛起”。

          非阻塞式掛起與協(xié)程的執(zhí)行步驟

          非阻塞式掛起的一個前提是:涉及的必須是多線程的操作。因為阻塞的概念是針對單線程而言的。當我們切換了線程,那肯定是非阻塞的,因為耗時的操作跑到別的線程了,原來的線程就自由了,該干嘛干嘛唄~

          如果在主線程中啟動多個協(xié)程,那么協(xié)程的執(zhí)行順序是怎樣的呢?是按照代碼順序執(zhí)行么?還是有別的執(zhí)行順序?如下代碼所示,假設test方法在主線程中執(zhí)行,那么這段代碼應該輸出什么呢?

          //假設test方法運行在主線程
          fun test() {
              println("start test fun, thread=${Thread.currentThread().name}")
              //協(xié)程A
              GlobalScope.launch(Dispatchers.Main) {
                  println("start coroutine1, thread=${Thread.currentThread().name}")
                  val userId = getUserIdAsync()
                  println("end coroutine1, thread=${Thread.currentThread().name}")
              }
              //協(xié)程B
              GlobalScope.launch(Dispatchers.Main) {
                  println("start coroutine2, thread=${Thread.currentThread().name}")
                  delay(100)
                  println("end coroutine2, thread=${Thread.currentThread().name}")
              }
              println("end test fun, thread=${Thread.currentThread().name}")
          }

          suspend fun getUserIdAsync() = withContext(Dispatchers.IO) {
              println("getUserIdAsync, thread=${Thread.currentThread().name}")
              delay(1000)
              return@withContext "userId from async"
          }

          在Android中運行上述代碼,執(zhí)行結(jié)果是:

          通過打印的日志可以看到,雖然協(xié)程的代碼順序在println("end test fun...")之前,但是在執(zhí)行順序上,協(xié)程的啟動仍然在println("end test fun...")之后,結(jié)合非阻塞式掛起,下圖展示了協(xié)程的執(zhí)行順序流程:

          參考文檔

          1、Kotlin 的協(xié)程用力瞥一眼 - 學不會協(xié)程?很可能因為你看過的教程都是錯的

          https://kaixue.io/kotlin-coroutines-1/

          2、協(xié)程入門指南  

          https://ethanhua.github.io/2018/02/27/coroutines-guide_cn/

          3、最全面的kotlin協(xié)程  

          https://juejin.cn/post/6844904037586829320


          轉(zhuǎn)自:掘金  AndroidHint

          https://juejin.cn/post/6954393446622691342


          - EOF -

          PS:如果覺得我的分享不錯,歡迎大家隨手點贊、在看

          大家一起在評論區(qū)聊聊唄~

          茉莉花,別名茉莉,拉丁文名:Jasminum sambac (L.) Ait,木犀科、素馨屬直立或攀援灌木,高達3米。

          小枝圓柱形或稍壓扁狀,有時中空,疏被柔毛。葉對生,單葉,葉片紙質(zhì),圓形、橢圓形、卵狀橢圓形或倒卵形,兩端圓或鈍,基部有時微心形,在上面稍凹入或凹起,下面凸起,細脈在兩面常明顯,微凸起,除下面脈腋間常具簇毛外,其余無毛;裂片長圓形至近圓形,先端圓或鈍。果球形,呈紫黑色。花期5-8月,果期7-9月。

          茉莉的花極香,為著名的花茶原料及重要的香精原料;花、葉藥用治目赤腫痛,并有止咳化痰之效。

          吳王子子駒亡走閩越,怨東甌殺其父,常勸閩越擊東甌。至建元三年,閩越發(fā)兵圍東甌。東甌食盡,困,

          太史公曰:余每讀虞書,至於君臣相敕,維是幾安,而股肱不良,萬事墮壞,未嘗不流涕也。成王作頌,推己懲艾,悲彼家難,可不謂戰(zhàn)戰(zhàn)恐懼,善守善終哉?君子不為約則修德,滿則棄禮,佚能思初,安能惟始,沐浴膏澤而歌詠勤苦,非大德誰能如斯!傳曰“治定功成,禮樂乃興”。海內(nèi)人道益深,其德益至,所樂者益異。滿而不損則溢,盈而不持則傾。凡作樂者,所以節(jié)樂。君子以謙退為禮,以損減為樂,樂其如此也。以為州異國殊,情習不同,故博采風俗,協(xié)比聲律,以補短移化,助流政教。天子躬於明堂臨觀,而萬民咸蕩滌邪穢,斟酌飽滿,以飾厥性。故云雅頌之音理而民正,嘄噭之聲興而士奮,鄭衛(wèi)之曲動而心淫。及其調(diào)和諧合,鳥獸盡感,而況懷五常,含好惡,自然之勢也?

            治道虧缺而鄭音興起,封君世辟,名顯鄰州,爭以相高。自仲尼不能與齊優(yōu)遂容於魯,雖退正樂以誘世,作五章以剌時,猶莫之化。陵遲以至六國,流沔沈佚,遂往不返,卒於喪身滅宗,并國於秦。

            秦二世尤以為娛。丞相李斯進諫曰:“放棄詩書,極意聲色,祖伊所以懼也;輕積細過,恣心長夜,紂所以亡也。”趙高曰:“五帝、三王樂各殊名,示不相襲。上自朝廷,下至人民,得以接歡喜,合殷勤,非此和說不通,解澤不流,亦各一世之化,度時之樂,何必華山之騄耳而后行遠乎?”二世然之。

            高祖過沛詩三侯之章,令小兒歌之。高祖崩,令沛得以四時歌鳷宗廟。孝惠、孝文、孝景無所增更,於樂府習常肄舊而已。

            至今上即位,作十九章,令侍中李延年次序其聲,拜為協(xié)律都尉。通一經(jīng)之士不能獨知其辭,皆集會五經(jīng)家,相與共講習讀之,乃能通知其意,多爾雅之文。

            漢家常以正月上辛祠太一甘泉,以昏時夜祠,到明而終。常有流星經(jīng)於祠壇上。使僮男僮女七十人俱歌。春歌青陽,夏歌硃明,秋歌西昚,冬歌玄冥。世多有,故不論。

            又嘗得神馬渥洼水中,復次以為太一之歌。曲曰:“太一貢兮天馬下,霑赤汗兮沫流赭。騁容與兮跇萬里,今安匹兮龍為友。”後伐大宛得千里馬,馬名蒲梢,次作以為歌。歌詩曰:“天馬來兮從西極,經(jīng)萬里兮歸有德。承靈威兮降外國,涉流沙兮四夷服。”中尉汲黯進曰:“凡王者作樂,上以承祖宗,下以化兆民。今陛下得馬,詩以為歌,協(xié)於宗廟,先帝百姓豈能知其音邪?”上默然不說。丞相公孫弘曰:“黯誹謗圣制,當族。”

            凡音之起,由人心生也。人心之動,物使之然也。感於物而動,故形於聲;聲相應,故生變;變成方,謂之音;比音而樂之,及干戚羽旄,謂之樂也。樂者,音之所由生也,其本在人心感於物也。是故其哀心感者,其聲噍以殺;其樂心感者,其聲啴以緩;其喜心感者,其聲發(fā)以散;其怒心感者,其聲粗以厲;其敬心感者,其聲直以廉;其愛心感者,其聲和以柔。六者非性也,感於物而后動,是故先王慎所以感之。故禮以導其志,樂以和其聲,政以壹其行,刑以防其奸。禮樂刑政,其極一也,所以同民心而出治道也。

            凡音者,生人心者也。情動於中,故形於聲,聲成文謂之音。是故治世之音安以樂,其正和;亂世之音怨以怒,其正乖;亡國之音哀以思,其民困。聲音之道,與正通矣。宮為君,商為臣,角為民,徵為事,羽為物。五者不亂,則無怗懘之音矣。宮亂則荒,其君驕;商亂則搥,其臣壞;角亂則憂,其民怨;徵亂則哀,其事勤;羽亂則危,其財匱。五者皆亂,迭相陵,謂之慢。如此則國之滅亡無日矣。鄭衛(wèi)之音,亂世之音也,比於慢矣。桑間濮上之音,亡國之音也,其政散,其民流,誣上行私而不可止。

            凡音者,生於人心者也;樂者,通於倫理者也。是故知聲而不知音者,禽獸是也;知音而不知樂者,眾庶是也。唯君子為能知樂。是故審聲以知音,審音以知樂,審樂以知政,而治道備矣。是故不知聲者不可與言音,不知音者不可與言樂知樂則幾於禮矣。禮樂皆得,謂之有德。德者得也。是故樂之隆,非極音也;食饗之禮,非極味也。清廟之瑟,硃弦而疏越,一倡而三嘆,有遺音者矣。大饗之禮,尚玄酒而俎腥魚,大羹不和,有遺味者矣。是故先王之制禮樂也,非以極口腹耳目之欲也,將以教民平好惡而反人道之正也。

            人生而靜,天之性也;感於物而動,性之頌也。物至知知,然后好惡形焉。好惡無節(jié)於內(nèi),知誘於外,不能反己,天理滅矣。夫物之感人無窮,而人之好惡無節(jié),則是物至而人化物也。人化物也者,滅天理而窮人欲者也。於是有悖逆詐偽之心,有淫佚作亂之事。是故彊者脅弱,眾者暴寡,知者詐愚,勇者苦怯,疾病不養(yǎng),老幼孤寡不得其所,此大亂之道也。是故先王制禮樂,人為之節(jié):衰麻哭泣,所以節(jié)喪紀也;鐘鼓干戚,所以和安樂也;婚姻冠笄,所以別男女也;射鄉(xiāng)食饗,所以正交接也。禮節(jié)民心,樂和民聲,政以行之,刑以防之。禮樂刑政四達而不悖,則王道備矣。

            樂者為同,禮者為異。同則相親,異則相敬。樂勝則流,禮勝則離。合情飾貌者,禮樂之事也。禮義立,則貴賤等矣;樂文同,則上下和矣;好惡著,則賢不肖別矣;刑禁暴,爵舉賢,則政均矣。仁以愛之,義以正之,如此則民治行矣。

            樂由中出,禮自外作。樂由中出,故靜;禮自外作,故文。大樂必易,大禮必簡。樂至則無怨,禮至則不爭。揖讓而治天下者,禮樂之謂也。暴民不作,諸侯賓服,兵革不試,五刑不用,百姓無患,天子不怒,如此則樂達矣。合父子之親,明長幼之序,以敬四海之內(nèi)。天子如此,則禮行矣。

            大樂與天地同和,大禮與天地同節(jié)。和,故百物不失;節(jié),故祀天祭地。明則有禮樂,幽則有鬼神,如此則四海之內(nèi)合敬同愛矣。禮者,殊事合敬者也;樂者,異文合愛者也。禮樂之情同,故明王以相沿

          萬石君名奮,其父趙人也,姓石氏。趙亡,徙居溫。高祖東擊項籍,過河內(nèi),時奮年十五,為小吏,侍高祖。高祖與語,愛其恭敬,問曰:“若何有?”對曰:“奮獨有母,不幸失明。家貧。有姊,能鼓琴。”高祖曰:“若能從我乎?”曰:“原盡力。”於是高祖召其姊為美人,以奮為中涓,受書謁,徙其家長安中戚里,以姊為美人故也。其官至孝文時,積功勞至大中大夫。無文學,恭謹無與比。

            文帝時,東陽侯張相如為太子太傅,免。選可為傅者,皆推奮,奮為太子太傅。及孝景即位,以為九卿;迫近,憚之,徙奮為諸侯相。奮長子建,次子甲,次子乙,次子慶,皆以馴行孝謹,官皆至二千石。於是景帝曰:“石君及四子皆二千石,人臣尊寵乃集其門。”號奮為萬石君。

            孝景帝季年,萬石君以上大夫祿歸老于家,以歲時為朝臣。過宮門闕,萬石君必下車趨,見路馬必式焉。子孫為小吏,來歸謁,萬石君必朝服見之,不名。子孫有過失,不譙讓,為便坐,對案不食。然后諸子相責,因長老肉袒固謝罪,改之,乃許。子孫勝冠者在側(cè),雖燕居必冠,申申如也。僮仆如也,唯謹。上時賜食於家,必稽首俯伏而食之,如在上前。其執(zhí)喪,哀戚甚悼。子孫遵教,亦如之。萬石君家以孝謹聞乎郡國,雖齊魯諸儒質(zhì)行,皆自以為不及也。

            建元二年,郎中令王臧以文學獲罪。皇太后以為儒者文多質(zhì)少,今萬石君家不言而躬行,乃以長子建為郎中令,少子慶為內(nèi)史。

            建老白首,萬石君尚無恙。建為郎中令,每五日洗沐歸謁親,入子舍,竊問侍者,取親中稖廁窬,身自浣滌,復與侍者,不敢令萬石君知,以為常。建為郎中令,事有可言,屏人恣言,極切;至廷見,如不能言者。是以上乃親尊禮之。

            萬石君徙居陵里。內(nèi)史慶醉歸,入外門不下車。萬石君聞之,不食。慶恐,肉袒請罪,不許。舉宗及兄建肉袒,萬石君讓曰:“內(nèi)史貴人,入閭里,里中長老皆走匿,而內(nèi)史坐車中自如,固當!”乃謝罷慶。慶及諸子弟入里門,趨至家。

            萬石君以元朔五年中卒。長子郎中令建哭泣哀思,扶杖乃能行。歲馀,建亦死。諸子孫咸孝,然建最甚,甚於萬石君。

            建為郎中令,書奏事,事下,建讀之,曰:“誤書!‘馬’者與尾當五,今乃四,不足一。上譴死矣!”甚惶恐。其為謹慎,雖他皆如是。

            萬石君少子慶為太仆,御出,上問車中幾馬,慶以策數(shù)馬畢,舉手曰:“六馬。”慶於諸子中最為簡易矣,然猶如此。為齊相,舉齊國皆慕其家行,不言而齊國大治,為立石相祠。

            元狩元年,上立太子,選群臣可為傅者,慶自沛守為太子太傅,七歲遷為御史大夫。

            元鼎五年秋,丞相有罪,罷。制詔御史:“萬石君先帝尊之,子孫孝,其以御史大夫慶為丞相,封為牧丘侯。”是時漢方南誅兩越,東擊朝鮮,北逐匈奴,西伐大宛,中國多事。天子巡狩海內(nèi),修上古神祠,封禪,興禮樂。公家用少,桑弘羊等致利,王溫舒之屬峻法,兒寬等推文學至九卿,更進用事,事不關決於丞相,丞相醇謹而已。在位九歲,無能有所匡言。嘗欲請治上近臣所忠、九卿咸宣罪,不能服,反受其過,贖罪。

            元封四年中,關東流民二百萬口,無名數(shù)者四十萬,公卿議欲請徙流民於邊以適之。上以為丞相老謹,不能與其議,乃賜丞相告歸,而案御史大夫以下議為請者。丞相慚不任職,乃上書曰:“慶幸得待罪丞相,罷駑無以輔治,城郭倉庫空虛,民多流亡,罪當伏斧質(zhì),上不忍致法。原歸丞相侯印,乞骸骨歸,避賢者路。”天子曰:“倉廩既空,民貧流亡,而君欲請徙之,搖蕩不安,動危之,而辭位,君欲安歸難乎?”以書讓慶,慶甚慚,遂復視事。

            慶文深審謹,然無他大略,為百姓言。後三歲馀,太初二年中,丞相慶卒,謚為恬侯。慶中子德,慶愛用之,上以德為嗣,代侯。後為太常,坐法當死,贖免為庶人。慶方為丞相,諸子孫為吏更至二千石者十三人。及慶死後,稍以罪去,孝謹益衰矣。

            建陵侯衛(wèi)綰者,代大陵人也。綰以戲車為郎,事文帝,功次遷為中郎將,醇謹無他。孝景為太子時,召上左右飲,而綰稱病不行。文帝且崩時,屬孝景曰:“綰長者,善遇之。”及文帝崩,景帝立,歲馀不噍呵綰,綰日以謹力。

            景帝幸上林,詔中郎將參乘,還而問曰:“君知所以得參乘乎?”綰曰:“臣從車士幸得以功次遷為中郎將,不自知也。”上問曰:“吾為太子時召君,君不肯來,何也?”對曰:“死罪,實病!”上賜之劍。綰曰:“先帝賜臣劍凡六,劍不敢奉詔。”上曰:“劍,人之所施易,獨至今乎?”綰曰:“具在。”上使取六劍,劍尚盛,未嘗服也。郎官有譴,常蒙其罪,不與他將爭;有功,常讓他將。上以為廉,忠實無他腸,乃拜綰為河間王太傅。吳楚反,詔綰為將,將河間兵擊吳楚有功,拜為中尉。三歲,以軍功,孝景前六年中封綰為建陵侯。

            其明年,上廢太子,誅栗卿之屬。上以為綰長者,不忍,乃賜綰告歸,而使郅都治捕栗氏。既已,上立膠東王為太子,召綰,拜為太子太傅。久之,遷為御史大夫。五歲,代桃侯舍為丞相,朝奏事如職所奏。然自初官以至丞相,終無可言。天子以為敦厚,可相少主,尊寵之,賞賜甚多。

            為丞相三歲,景帝崩,武帝立。建元年中,丞相以景帝疾時諸官囚多坐不辜者,而君不任職,免之。其後綰卒,子信代。坐酎金失侯。

            塞侯直不疑者,南陽人也。為郎,事文帝。其同舍有告歸,誤持同舍郎金去,已而金主覺,妄意不疑,不疑謝有之,買金償。而告歸者來而歸金,而前郎亡金者大慚,以此稱為長者。文帝稱舉,稍遷至太中大夫。朝廷見,人或毀曰:“不疑狀貌甚美,然獨無柰其善盜嫂何也!”不疑聞,曰:“我乃無兄。”然終不自明也。

            吳楚反時,不疑以二千石將兵擊之。景帝後元年,拜為御史大夫。天子修吳楚時功,乃封不疑為塞侯。武帝建元年中,

          諺曰“力田不如逢年,善仕不如遇合”,固無虛言。非獨女以色媚,而士宦亦有之。

            昔以色幸者多矣。至漢興,高祖至暴抗也,然籍孺以佞幸;孝惠時有閎孺。此兩人非有材能,徒以婉佞貴幸,與上臥起,公卿皆因關說。故孝惠時郎侍中皆冠鵕璘,貝帶,傅脂粉,化閎、籍之屬也。兩人徙家安陵。

            孝文時中寵臣,士人則鄧通,宦者則趙同、北宮伯子。北宮伯子以愛人長者;而趙同以星氣幸,常為文帝參乘;鄧通無伎能。鄧通,蜀郡南安人也,以濯船為黃頭郎。孝文帝夢欲上天,不能,有一黃頭郎從後推之上天,顧見其衣裻帶後穿。覺而之漸臺,以夢中陰目求推者郎,即見鄧通,其衣後穿,夢中所見也。召問其名姓,姓鄧氏,名通,文帝說焉,尊幸之日異。通亦愿謹,不好外交,雖賜洗沐,不欲出。於是文帝賞賜通巨萬以十數(shù),官至上大夫。文帝時時如鄧通家游戲。然鄧通無他能,不能有所薦士,獨自謹其身以媚上而已。上使善相者相通,曰“當貧餓死”。文帝曰:“能富通者在我也。何謂貧乎?”於是賜鄧通蜀嚴道銅山,得自鑄錢,“鄧氏錢”布天下。其富如此。

            文帝嘗病癰,鄧通常為帝唶吮之。文帝不樂,從容問通曰:“天下誰最愛我者乎?”通曰:“宜莫如太子。”太子入問病,文帝使唶癰,唶癰而色難之。已而聞鄧通常為帝唶吮之,心慚,由此怨通矣。及文帝崩,景帝立,鄧通免,家居。居無何,人有告鄧通盜出徼外鑄錢。下吏驗問,頗有之,遂竟案,盡沒入鄧通家,尚負責數(shù)巨萬。長公主賜鄧通,吏輒隨沒入之,一簪不得著身。於是長公主乃令假衣食。竟不得名一錢,寄死人家。

            孝景帝時,中無寵臣,然獨郎中令周文仁,仁寵最過庸,乃不甚篤。

            今天子中寵臣,士人則韓王孫嫣,宦者則李延年。嫣者,弓高侯孽孫也。今上為膠東王時,嫣與上學書相愛。及上為太子,愈益親嫣。嫣善騎射,善佞。上即位,欲事伐匈奴,而嫣先習胡兵,以故益尊貴,官至上大夫,賞賜擬於鄧通。時嫣常與上臥起。江都王入朝,有詔得從入獵上林中。天子車駕蹕道未行,而先使嫣乘副車,從數(shù)十百騎,騖馳視獸。江都王望見,以為天子,辟從者,伏謁道傍。嫣驅(qū)不見。既過,江都王怒,為皇太后泣曰:“請得歸國入宿衛(wèi),比韓嫣。”太后由此嗛嫣。嫣侍上,出入永巷不禁,以奸聞皇太后。皇太后怒,使使賜嫣死。上為謝,終不能得,嫣遂死。而案道侯韓說,其弟也,亦佞幸。

            李延年,中山人也。父母及身兄弟及女,皆故倡也。延年坐法腐,給事狗中。而平陽公主言延年女弟善舞,上見,心說之,及入永巷,而召貴延年。延年善歌,為變新聲,而上方興天地祠,欲造樂詩歌弦之。延年善承意,弦次初詩。其女弟亦幸,有子男。延年佩二千石印,號協(xié)聲律。與上臥起,甚貴幸,埒如韓嫣也。久之,浸與中人亂,出入驕恣。及其女弟李夫人卒後,愛弛,則禽誅延年昆弟也。

            自是之後,內(nèi)寵嬖臣大底外戚之家,然不足數(shù)也。衛(wèi)青、霍去病亦以外戚貴幸,然頗用材能自進。

            太史公曰:甚哉愛憎之時!彌子瑕之行,足以觀後人佞幸矣。雖百世可知也。

            傳稱令色,詩刺巧言。冠璘入侍,傅粉承恩。黃頭賜蜀,宦者同軒。新聲都尉,挾彈王孫。泣魚竊駕,著自前論。

          與丞相綰俱以過免。

            不疑學老子言。其所臨,為官如故,唯恐人知其為吏跡也。不好立名稱,稱為長者。不疑卒,子相如代。孫望,坐酎金失侯。

            郎中令周文者,名仁,其先故任城人也。以醫(yī)見。景帝為太子時,拜為舍人,積功稍遷,孝文帝時至太中大夫。景帝初即位,拜仁為郎中令。

            仁為人陰重不泄,常衣敝補衣溺袴,期為不絜清,以是得幸。景帝入臥內(nèi),於後宮祕戲,仁常在旁。至景帝崩,仁尚為郎中令,終無所言。上時問人,仁曰:“上自察之。”然亦無所毀。以此景帝再自幸其家。家徙陽陵。上所賜甚多,然常讓,不敢受也。諸侯群臣賂遺,終無所受。

            武帝立,以為先帝臣,重之。仁乃病免,以二千石祿歸老,子孫咸至大官矣。

            御史大夫張叔者,名歐,安丘侯說之庶子也。孝文時以治刑名言事太子。然歐雖治刑名家,其人長者。景帝時尊重,常為九卿。至武帝元朔四年,韓安國免,詔拜歐為御史大夫。自歐為吏,未嘗言案人,專以誠長者處官。官屬以為長者,亦不敢大欺。上具獄事,有可卻,卻之;不可者,不得已,為涕泣面對而封之。其愛人如此。

            老病篤,請免。於是天子亦策罷,以上大夫祿歸老于家。家於陽陵。子孫咸至大官矣。

            太史公曰:仲尼有言曰“君子欲訥於言而敏於行”,其萬石、建陵、張叔之謂邪?是以其教不肅而成,不嚴而治。塞侯微巧,而周文處讇,君子譏之,為其近於佞也。然斯可謂篤行君子矣!

            萬石孝謹,自家形國。郎中數(shù)馬,內(nèi)史匍匐。綰無他腸,塞有陰德。刑名張歐,垂涕恤獄。敏行訥言,俱嗣芳躅。

          也。故事與時并,名與功偕。故鐘鼓管磬羽籥干戚,樂之器也;詘信俯仰級兆舒疾,樂之文也。簠簋俎豆制度文章,禮之器也;升降上下周旋裼襲,禮之文也。故知禮樂之情者能作,識禮樂之文者能術(shù)。作者之謂圣,術(shù)者之謂明。明圣者,術(shù)作之謂也。

            樂者,天地之和也;禮者,天地之序也。和,故百物皆化;序,故群物皆別。樂由天作,禮以地制。過制則亂,過作則暴。明於天地,然後能興禮樂也。論倫無患,樂之情也;欣喜驩愛,樂之也。中正無邪,禮之質(zhì)也;莊敬恭順,禮之制也。若夫禮樂之施於金石,越於聲音,用於宗廟社稷,事于山川鬼神,則此所以與民同也。

            王者功成作樂,治定制禮。其功大者其樂備,其治辨者其禮具。干戚之舞,非備樂也;亨孰而祀,非達禮也。五帝殊時,不相沿樂;三王異世,不相襲禮。樂極則憂,禮粗則偏矣。及夫敦樂而無憂,禮備而不偏者,其唯大圣乎?天高地下,萬物散殊,而禮制行也;流而不息,合同而化,而樂興也。春作夏長,仁也;秋斂冬藏,義也。仁近於樂,義近於禮。樂者敦和,率神而從天;禮者辨宜,居鬼而從地。故圣人作樂以應天,作禮以配地。禮樂明備,天地官矣。

            天尊地卑,君臣定矣。高卑已陳,貴賤位矣。動靜有常,小大殊矣。方以類聚,物以群分,則性命不同矣。在天成象,在地成形,如此則禮者天地之別也。地氣上隮,天氣下降,陰陽相摩,天地相蕩,鼓之以雷霆,奮之以風雨,動之以四時,暖之以日月,而百化興焉,如此則樂者天地之和也。

            化不時則不生,男女無別則亂登,此天地之情也。及夫禮樂之極乎天而蟠乎地,行乎陰陽而通乎鬼神,窮高極遠而測深厚,樂著太始而禮居成物。著不息者天也,著不動者地也。一動一靜者,天地之間也。故圣人曰“禮云樂云”。

          且降,乃使人告急天子。天子問太尉田蚡,蚡對曰:“越人相攻擊,固其常,又數(shù)反覆,不足以煩中國往救也。自秦時棄弗屬。”於是中大夫莊助詰蚡曰:“特患力弗能救,德弗能覆;誠能,何故棄之?且秦舉咸陽而棄之,何乃越也!今小國以窮困來告急天子,天子弗振,彼當安所告愬?又何以子萬國乎?”上曰:“太尉未足與計。吾初即位,不欲出虎符發(fā)兵郡國。”乃遣莊助以節(jié)發(fā)兵會稽。會稽太守欲距不為發(fā)兵,助乃斬一司馬,諭意指,遂發(fā)兵浮海救東甌。未至,閩越引兵而去。東甌請舉國徙中國,乃悉舉眾來,處江淮之間。

            至建元六年,閩越擊南越。南越守天子約,不敢擅發(fā)兵擊而以聞。上遣大行王恢出豫章,大農(nóng)韓安國出會稽,皆為將軍。兵未逾嶺,閩越王郢發(fā)兵距險。其弟馀善乃與相、宗族謀曰:“王以擅發(fā)兵擊南越,不請,故天子兵來誅。今漢兵眾彊,今即幸勝之,後來益多,終滅國而止。今殺王以謝天子。天子聽,罷兵,固一國完;不聽,乃力戰(zhàn);不勝,即亡入海。”皆曰“善”。即鏦殺王,使使奉其頭致大行。大行曰:“所為來者誅王。今王頭至,謝罪,不戰(zhàn)而耘,利莫大焉。”乃以便宜案兵告大農(nóng)軍,而使使奉王頭馳報天子。詔罷兩將兵,曰:“郢等首惡,獨無諸孫繇君丑不與謀焉。”乃使郎中將立丑為越繇王,奉閩越先祭祀。

            馀善已殺郢,威行於國,國民多屬,竊自立為王。繇王不能矯其眾持正。天子聞之,為馀善不足復興師,曰:“馀善數(shù)與郢謀亂,而後首誅郢,師得不勞。”因立馀善為東越王,與繇王并處。

            至元鼎五年,南越反,東越王馀善上書,請以卒八千人從樓船將軍擊呂嘉等。兵至揭揚,以海風波為解,不行,持兩端,陰使南越。及漢破番禺,不至。是時樓船將軍楊仆使使上書,原便引兵擊東越。上曰士卒勞倦,不許,罷兵,1、伯庸。《離騷》:“朕皇考曰伯庸”。譬如作家馬伯庸……
          2、正則、靈均。《離騷》:“名余曰正則兮,字余曰靈均”。正則:公正而有法則。靈均:靈善而均調(diào)。屈原名平,字原,正則是對“平”字進行的解釋,靈均是對“原”字進行的解釋。
          3、修能。《離騷》:“又重之以修能”。修能:即美好的外表儀形。一釋為很強的才干和能力。
          4、騏、驥。《離騷》:“乘騏驥以馳騁兮”。騏驥:駿馬。
          5、峻茂。《離騷》:“冀枝葉之峻茂兮”。風信子(學名:Hyacinthus orientalis L.):是多年草本球根類植物,鱗莖卵形,有膜質(zhì)外皮,皮膜顏色與花色成正相關,未開花時形如大蒜,原產(chǎn)地中海沿岸及小亞細亞一帶,是研究發(fā)現(xiàn)的會開花的植物中最香的一個品種。喜陽光充足和比較濕潤的生長環(huán)境,要求排水良好和肥沃的沙壤土等。全世界風信子的園藝品種約有

          單閼之歲兮,四月孟夏,庚子日施兮,服集予舍,止于坐隅,貌甚間暇。異物來集兮,私怪其故,發(fā)書占之兮,筴言其度。曰“野鳥入處兮,主人將去”。請問于服兮:“予去何之?吉乎告我,兇言其菑。淹數(shù)之度兮,語予其期。”服乃嘆息,舉首奮翼,口不能言,請對以意。

            萬物變化兮,固無休息。斡流而遷兮,或推而還。形氣轉(zhuǎn)續(xù)兮,變化而嬗。沕穆無窮兮,胡可勝言!禍兮福所倚,福兮禍所伏;憂喜聚門兮,吉兇同域。彼吳彊大兮,夫差以敗;越棲會稽兮,句踐霸世。斯游遂成兮,卒被五刑;傅說胥靡兮,乃相武丁。夫禍之與福兮,何異糾纆。命不可說兮,孰知其極?水激則旱兮,矢激則遠。萬物回薄兮,振蕩相轉(zhuǎn)。云蒸雨降兮,錯繆相紛。大專槃物兮,坱軋無垠。天不可與慮兮,道不可與謀。遲數(shù)有命兮,惡識其時?

            且夫天地為爐兮,造化為工;陰陽為炭兮,萬物為銅。合散消息兮,安有常則;千變?nèi)f化兮,未始有極。忽然為人兮,何足控摶;化為異物兮,又何足患!小知自私兮,賤彼貴我;通人大觀兮,物無不可。貪夫徇財兮,烈士徇名;夸者死權(quán)兮,品庶馮生。述迫之徒兮,或趨西東;大人不曲兮,億變齊同。拘士系俗兮,羖如囚拘;至人遺物兮,獨與道俱。眾人或或兮,好惡積意;真人淡漠兮,獨與道息。釋知遺形兮,超然自喪;寥廓忽荒兮,與道翱翔。乘流則逝兮,得坻則止;縱軀委命兮,不私與己。其生若浮兮,其死若休;澹乎若深淵之靜,氾乎若不系之舟。不以生故自寶兮,養(yǎng)空而浮;德人無累兮,知命不憂。細故粦兮,何足以疑!

            後歲馀,賈生徵見。孝文帝方受釐,坐宣室。上因感鬼神事,而問鬼神之本。賈生因具道所以然之狀。至夜半,文帝前席。既罷,曰:“吾久不見賈生,自以為過之,今不及也。”居頃之,拜賈生為梁懷王太傅。梁懷王,文帝之少子,愛,而好書,故令賈生傅之。

            文帝復封淮南厲王子四人皆為列侯。賈生諫,以為患之興自此起矣。賈生數(shù)上疏,言諸侯或連數(shù)郡,非古之制,可稍削之。文帝不聽。

            居數(shù)年,懷王騎,墮馬而死,無後。賈生自傷為傅無狀,哭泣歲馀,亦死。賈生之死時年三十三矣。及孝文崩,孝武皇帝立,舉賈生之孫二人至郡守,而賈嘉最好學,世其家,與余通書。至孝昭時,列為九卿。

            太史公曰:余讀離騷、天問、招魂、哀郢,悲其志。適長沙,觀屈原所自沈淵,未嘗不垂涕,想見其為人。及見賈生吊之,又怪屈原以彼其材,游諸侯,何國不容,而自令若是。讀服烏賦,同死生,輕去就,又爽然自失矣。

            屈平行正,以事懷王。瑾瑜比潔,日月爭光。忠而見放,讒者益章。賦騷見志,懷沙自傷。百年之後,空悲吊湘。

          2000種以上,主要分為“荷蘭種”和“羅馬種”兩類。前者屬正宗品種,絕大多數(shù)每株只長1支花葶,體勢粗壯,花朵較大。而后者則多是變異的雜種,每株能著生二三支花葶,體勢幼弱,花朵較細,多數(shù)消費者喜購荷蘭風信子。峻茂:猶繁茂。
          6、信芳。《離騷》:“茍余情其信芳”。如京劇表演藝術(shù)家周信芳。
          7、圣哲、茂行。《離騷》:“夫維圣哲以茂行兮”。圣哲:具有超人的道德才智的人。茂行:德行充盛。
          8、曼路。《離騷》:“路曼曼其修遠兮,吾將上下而求索”。
          9、望舒。《離騷》:“前望舒使先驅(qū)兮”。望舒:神話中為月駕車的神。如寫《雨巷》的詩人戴望舒。
          10、陸離。《離騷》:“斑陸離其上下”。陸離:光輝燦爛的樣子。我們對于該詞的認知多來自于成語“光怪陸離”,意指色彩繁雜、變化多端。
          11、珵美。《離騷》:“覽察草木其猶未得兮,豈珵美之能當”。珵:美玉。
          12、云旗。《離騷》:“駕八龍之婉婉兮,載云旗之委蛇”。云旗:繪有云霓的旗幟。
          ===================九===歌===的===分===界===線=================== 
          1、辰良。《九歌·東皇太一》:“吉日兮辰良”。“辰良”系“良辰”之倒文,指好時光。易被讀作“乘涼”。
          2、玉鏘、璆鳴。《九歌·東皇太一》:“撫長劍兮玉珥,璆鏘鳴兮琳瑯”。詩曰:佩玉鏘鏘。璆(音求):美玉。
          3、安歌。《九歌·東皇太一》:“疏緩節(jié)兮安歌”。

          南越王尉佗者,真定人也,姓趙氏。秦時已并天下,略定楊越,置桂林、南海、象郡,以謫徙民,與越雜處十三歲。佗,秦時用為南海龍川令。至二世時,南海尉任囂病且死,召龍川令趙佗語曰:“聞陳勝等作亂,秦為無道,天下苦之,項羽、劉季、陳勝、吳廣等州郡各共興軍聚眾,虎爭天下,中國擾亂,未知所安,豪杰畔秦相立。南海僻遠,吾恐盜兵侵地至此,吾欲興兵絕新道,自備,待諸侯變,會病甚。且番禺負山險,阻南海,東西數(shù)千里,頗有中國人相輔,此亦一州之主也,可以立國。郡中長吏無足與言者,故召公告之。”即被佗書,行南海尉事。囂死,佗即移檄告橫浦、陽山、湟谿關曰:“盜兵且至,急絕道聚兵自守!”因稍以法誅秦所置長吏,以其黨為假守。秦已破滅,佗即擊并桂林、象郡,自立為南越武王。高帝已定天下,為中國勞苦,故釋佗弗誅。漢十一年,遣陸賈因立佗為南越王,與剖符通使,和集百越,毋為南邊患害,與長沙接境。

            高后時,有司請禁南越關市鐵器。佗曰:“高帝立我,通使物,今高后聽讒臣,別異蠻夷,隔絕器物,此必長沙王計也,欲倚中國,擊滅南越而并王之,自為功也。”於是佗乃自尊號為南越武帝,發(fā)兵攻長沙邊邑,敗數(shù)縣而去焉。高后遣將軍隆慮侯灶往擊之。會暑濕,士卒大疫,兵不能逾嶺。歲馀,高后崩,即罷兵。佗因此以兵威邊,財物賂遺閩越、西甌、駱,役屬焉,東西萬馀里。乃乘黃屋左纛,稱制,與中國侔。

            及孝文帝元年,初鎮(zhèn)撫天下,使告諸侯四夷從代來即位意,喻盛德焉。乃為佗親冢在真定,置守邑,歲時奉祀。召其從昆弟,尊官厚賜寵之。詔丞相陳平等舉可使南越者,平言好畤陸賈,先帝時習使南越。乃召賈以為太中大夫,往使。因讓佗自立為帝,曾無一介之使報者。陸賈至南越,王甚恐,為書謝,稱曰:“蠻夷大長老夫臣佗,前日高后隔異南越,竊疑長沙王讒臣,又遙聞高后盡誅佗宗族,掘燒先人冢,以故自棄,犯長沙邊境。且南方卑濕,蠻夷中間,其東閩越千人眾號稱王,其西甌駱裸國亦稱王。老臣妄竊帝號,聊以自娛,豈敢以聞天王哉!”乃頓首謝,原長為籓臣,奉貢職。於是乃下令國中曰:“吾聞兩雄不俱立,兩賢不并世。皇帝,賢天子也。自今以後,去帝制黃屋左纛。”陸賈還報,孝文帝大說。遂至孝景時,稱臣,使人朝請。然南越其居國竊如故號名,其使天子,稱王朝命如諸侯。至建元四年卒。

            佗孫胡為南越王。此時閩越王郢興兵擊南越邊邑,胡使人上書曰:“兩越俱為籓臣,毋得擅興兵相攻擊。今閩越興兵侵臣,臣不敢興兵,唯天子詔之。”於是天子多南越義,守職約,為興師,遣兩將軍往討閩越。兵未逾嶺,閩越王弟馀善殺郢以降,於是罷兵。

            天子使莊助往諭意南越王,胡頓首曰:“天子乃為臣興兵討閩越,死無以報德!”遣太子嬰齊入宿衛(wèi)。謂助曰:“國新被寇,使者行矣。胡方日夜裝入見天子。”助去後,其大臣諫胡曰:“漢興兵誅郢,亦行以驚動南越。且先王昔言,事天子期無失禮,要之不可以說好語入見。入見則不得復歸,亡國之勢也。”於是胡稱病,竟不入見。後十馀歲,胡實病甚,太子嬰齊請歸。胡薨,謚為文王。

            嬰齊代立,即藏其先武帝璽。嬰齊其入宿衛(wèi)在長安時,取邯鄲樛氏女,生子興。及即位,上書請立樛氏女為后,興為嗣。漢數(shù)使使者風諭嬰齊,嬰齊尚樂擅殺生自恣,懼入見要用漢法,比內(nèi)諸侯,固稱病,遂不入見。遣子次公入宿衛(wèi)。嬰齊薨,謚為明王。

            太子興代立,其母為太后。太后自未為嬰齊姬時,嘗與霸陵人安國少季通。及嬰齊薨後,元鼎四年,漢使安國少季往諭王、王太后以入朝,比內(nèi)諸侯;令辯士諫大夫終軍等宣其辭,勇士魏臣等輔其缺,衛(wèi)尉路博德將兵屯桂陽,待使者。王年少,太后中國人也,嘗與安國少季通,其使復私焉。國人頗知之,多不附太后。太后恐亂起,亦欲倚漢威,數(shù)勸王及群臣求內(nèi)屬。即因使者上書,請比內(nèi)諸侯,三歲一朝,除邊關。於是天子許之,賜其丞相呂嘉銀印,及內(nèi)史、中尉、太傅印,馀得自置。除其故黥劓刑,用漢法,比內(nèi)諸侯。使者皆留填撫之。王、王太后飭治行裝重赍,為入朝具。

          安歌:神態(tài)安詳?shù)爻琛S幸痪涮圃娬f:“安歌送好音”。
          4、浩倡。《九歌·東皇太一》:“陳竽瑟兮浩倡”。“浩倡”又作“浩唱”,和上句“安歌”相對應。取名時可改為“浩昌”。下文《九歌·少司命》中還有“浩歌”。令諸校屯豫章梅領待命。




          瀏覽 55
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人做爰免费视频观看 | 樱桃香蕉网站在线观看 | 操B视频免费看 | 欧美极品少妇 | 欧美亚洲黄色电影免费收看 |