一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

無(wú)處不在的調(diào)度算法:如何科學(xué)地管理自己的時(shí)間?

 霍振麗 2018-07-11

無(wú)處不在的調(diào)度算法:如何科學(xué)地管理自己的時(shí)間?

大數(shù)據(jù)文摘出品

作者:Andy

主播:段天霖

《生活中的算法 (Algorithms to live by)》:調(diào)度算法

新的一周開(kāi)始了!有效率的一周應(yīng)該始于一份安排得當(dāng)?shù)挠?jì)劃表。

但安排日程不是件容易的事情,有些任務(wù)得在其他任務(wù)后進(jìn)行(比如說(shuō)洗完衣服后,才能晾衣服);有些有準(zhǔn)確的截止日期,而有些卻沒(méi)有,還有些呢,介于兩者之間;有些緊急,但不重要;有些重要,但又不緊急...

面對(duì)這一堆亂七八糟的任務(wù),到底該如何安排效率最高?這涉及到計(jì)算機(jī)科學(xué)中非常常見(jiàn)的調(diào)度 (Scheduling) 算法。

本周,我們來(lái)聊聊【調(diào)度】這個(gè)或大或小的話題,以及如何利用它來(lái)進(jìn)行科學(xué)時(shí)間管理。

無(wú)處不在的調(diào)度算法:如何科學(xué)地管理自己的時(shí)間?

我們?nèi)粘6紩?huì)遇到時(shí)間管理問(wèn)題,去做什么,什么時(shí)候做,以及什么順序做?

我們總會(huì)想著找到一個(gè)最好的方法來(lái)進(jìn)行時(shí)間管理,市面上也有無(wú)數(shù)的書告訴我們?cè)撛趺崔k,但他們卻又互不相同,甚至互相矛盾。比如說(shuō)《搞定:無(wú)壓工作的藝術(shù)》里就推崇一種把任何想到的能在兩分鐘以內(nèi)完成的工作,迅速搞定的做法;而與此相對(duì),在《吃掉那只青蛙》里面,卻又倡導(dǎo)先從困難的事開(kāi)始,然后到簡(jiǎn)單事...

似乎每位作者都有著自己的一套理論,那到底該聽(tīng)誰(shuí)的呢?

那不妨借鑒一下計(jì)算機(jī)科學(xué)中的調(diào)度 (Scheduling) 算法,來(lái)進(jìn)行科學(xué)時(shí)間管理。

調(diào)度算法:起源

雖然,時(shí)間管理這個(gè)概念可能與時(shí)間本身一樣古老,但說(shuō)到調(diào)度算法科學(xué),可能得追溯到19世紀(jì)末了。Frederick Taylor 在拒絕了哈佛大學(xué)的錄取后,成了一名光榮的機(jī)械師學(xué)徒,之后一番打拼,從學(xué)徒升到了總工程師。期間,他越來(lái)越堅(jiān)定一個(gè)想法,那就是,很多機(jī)器的時(shí)間沒(méi)有得到最大程度的利用,于是他就提出了一個(gè)新的叫作“科學(xué)管理”的學(xué)科。

于是 Taylor 建立了計(jì)劃辦公室,房間中一塊大板子上列著店內(nèi)所有機(jī)器,以及正在進(jìn)行的工作和正在等待的工作。之后他的同事 Henry Gantt 在此基礎(chǔ)上進(jìn)一步提出了現(xiàn)在大家熟悉的甘特圖,如今被廣泛應(yīng)用在各個(gè)大公司的項(xiàng)目管理中,比如亞馬遜和 SpaceX。

無(wú)處不在的調(diào)度算法:如何科學(xué)地管理自己的時(shí)間?

然而他們只是提出概念還有視覺(jué)化,卻沒(méi)解決怎么調(diào)度這個(gè)根本問(wèn)題。而這還得等到幾十年后 RAND 公司的數(shù)學(xué)家 Selmer Johnson 來(lái)解決了。

Johnson 碰上的是書本裝訂問(wèn)題,或者說(shuō)洗衣服問(wèn)題。洗衣服分兩步,洗和烘干。假設(shè)你有幾籃子衣物(糙漢子表示只有一個(gè)籃子),有的比較臟得長(zhǎng)時(shí)間洗,烘干時(shí)間正常;還有的衣物多得長(zhǎng)時(shí)間烘干,洗倒不用太久。于是 Johnson 就問(wèn),到底怎樣的順序來(lái)洗衣服最好呢。

答案很簡(jiǎn)單,先找出這些籃子里洗或烘干所需時(shí)間最短步驟,如果是洗就放最前面,如果是烘干就放最后面,不斷重復(fù)這個(gè)步驟就能獲得最優(yōu)順序。

因?yàn)橄匆逻^(guò)程中,必然有些時(shí)間只在洗或只在干,而不是同時(shí)進(jìn)行。為了避免這種浪費(fèi),只要使它倆最小就好。于是這就是調(diào)度算法中第一個(gè)算法:從最好洗的開(kāi)始,以最好干的結(jié)束。

此外,Johnson 還揭示了兩點(diǎn):

  • 調(diào)度是可以用算法形式表現(xiàn)
  • 最優(yōu)的調(diào)度方案是存在的

于是這就為調(diào)度延伸出了各種問(wèn)題,比如說(shuō)一個(gè)有各種各樣機(jī)器的虛擬工廠,它的最優(yōu)調(diào)度策略是什么。

但今天,我們不談這些復(fù)雜問(wèn)題。只談一臺(tái)機(jī)器情況,因?yàn)槲覀冏铌P(guān)心的調(diào)度問(wèn)題也就只有一臺(tái)機(jī)器——我們自己。

截止日期是第一生產(chǎn)力

然而,當(dāng)挽起衣袖準(zhǔn)備開(kāi)始解決單機(jī)器調(diào)度問(wèn)題時(shí),卻突然發(fā)現(xiàn)好像有點(diǎn)不對(duì)。因?yàn)?strong>一臺(tái)機(jī)器一次只能做一件事,那無(wú)論怎樣的順序來(lái)做花的時(shí)間都一樣,還需要什么調(diào)度。

但是,慢著,在現(xiàn)實(shí)生活中卻又是需要考慮做事順序的不是嗎?

那是哪兒出問(wèn)題了呢,這里就要說(shuō)到調(diào)度中最重要的概念:度量指標(biāo) (metric),明確你的目標(biāo)。也就是你得對(duì)不同方案好壞設(shè)置一個(gè)度量標(biāo)準(zhǔn),是越快越好,還是先干重要的好。這也是計(jì)算機(jī)科學(xué)里的一個(gè)重要原則:在計(jì)劃前,先設(shè)定一個(gè)評(píng)判標(biāo)準(zhǔn)(這也是機(jī)器學(xué)習(xí)中evaluation的重要性)。

因此即使同一個(gè)問(wèn)題,如果評(píng)判標(biāo)準(zhǔn)不同,那最優(yōu)策略也就不同。

無(wú)處不在的調(diào)度算法:如何科學(xué)地管理自己的時(shí)間?

比如說(shuō)我們希望盡量不拖延,也就是超過(guò)截止日期的時(shí)間最短。那就可以使用稱為最早完成日期 (Earliest Due Date)的最佳策略。只看截止日期,先做截止日期最近的,很簡(jiǎn)單。

或許都不用這里說(shuō),你早就已經(jīng)會(huì)用這個(gè)策略了。但現(xiàn)實(shí)中不光拖延時(shí)間,還會(huì)有很多其他因素。比如你買了很多新鮮食物,如果把品嘗日期當(dāng)做截止日期,應(yīng)用上述策略的話,確實(shí)能最小化你食物的過(guò)期時(shí)間,但就不保證味道了。

于是改變一下測(cè)量標(biāo)準(zhǔn),最小化會(huì)過(guò)期食物的數(shù)量。于是就得到摩爾算法 (Moore’s Algorithm)。它最初也是先按過(guò)期日期先后來(lái)吃,但是一旦看到之后的事物可能會(huì)在吃之前過(guò)期。那么立刻停下來(lái),把最大的食物(需要最長(zhǎng)時(shí)間吃)丟掉。這樣就能盡量減少過(guò)期食物數(shù)量了。

搞定任務(wù)

有時(shí)候我們關(guān)心的可能不是截止日期,而是越快越多的搞定手頭事情。而此時(shí)的最優(yōu)算法又成了最短處理時(shí)間(Shortest Processing Time) 算法,即先完成能最快完成的任務(wù)。

這就類似《搞定:無(wú)壓工作的藝術(shù)》中的策略了。先把能快速解決的事先解決,也能減少心理負(fù)擔(dān),使得集中精力于困難的事。

但在現(xiàn)實(shí)中,并不是說(shuō)越快越多完成任務(wù)就越好。特別是事有輕重,有些事要比另一些事重要些。那么我們可以對(duì)最短處理時(shí)間算法進(jìn)行少許修改,不同的任務(wù)有各自權(quán)重,利用權(quán)重與所需時(shí)間比得到“單位時(shí)間重要度”,之后只需優(yōu)先執(zhí)行重要度高的任務(wù)即可。這個(gè)算法可以稱為加權(quán)最短處理時(shí)間策略,非常實(shí)用。

有意思的是,當(dāng)觀察動(dòng)物覓食時(shí),也會(huì)觀察到類似策略,它們會(huì)傾向于尋找“單位時(shí)間更多能量”的食物。

認(rèn)清問(wèn)題

從上面的兩個(gè)例子可以清晰看出,雖然針對(duì)各個(gè)標(biāo)準(zhǔn)都能給出最優(yōu)解法,但選擇哪個(gè)標(biāo)準(zhǔn)卻是在于我們自己。

這也提供了看待拖延癥(時(shí)間管理的死敵)的另一個(gè)視角。一般認(rèn)為拖延癥是一種壞習(xí)慣和行為,但會(huì)不會(huì)實(shí)際上拖延癥只是用了匹配錯(cuò)了最優(yōu)策略和度量方法呢。

無(wú)處不在的調(diào)度算法:如何科學(xué)地管理自己的時(shí)間?

通常認(rèn)為拖延癥是懶或者逃避,但其實(shí)對(duì)于一些勤奮想快點(diǎn)做完事情的人也非常容易出現(xiàn)。比如2014年的一項(xiàng)研究就發(fā)現(xiàn),有時(shí)候人們?yōu)榱吮M快完成任務(wù),結(jié)果卻花了更多時(shí)間和精力,也就是欲速則不達(dá)。

那么他們采用了錯(cuò)的策略嗎,不,他們只是把一個(gè)好策略用在了錯(cuò)誤的標(biāo)準(zhǔn)上。因?yàn)樗麄兛赡苡玫氖亲疃烫幚頃r(shí)間方法, 但是實(shí)際上應(yīng)該進(jìn)行衡量的標(biāo)準(zhǔn)并不是最快最多完成任務(wù)。

這就是成也標(biāo)準(zhǔn)敗也標(biāo)準(zhǔn)。比如說(shuō)現(xiàn)在的智能手機(jī),會(huì)在應(yīng)用圖標(biāo)的右上角標(biāo)上未讀信息,不管信息的重要性都只計(jì)數(shù)一,這導(dǎo)致我們不能分清信息的重要性,而會(huì)浪費(fèi)很多時(shí)間去檢查不重要信息。只因?yàn)槲覀兪且员M快完成盡可能多的任務(wù)為策略。

而實(shí)際上應(yīng)該做的可能應(yīng)該是,先把重要的事情做完。這聽(tīng)起來(lái)是解決拖延癥的可靠方法,但是對(duì)于NASA的人來(lái)說(shuō)確實(shí)在最戲劇性地情況下意識(shí)到這個(gè)問(wèn)題:火星的表面,而且是眾目睽睽下。

優(yōu)先級(jí)倒置和優(yōu)先限制

1997年夏天,當(dāng)人們興奮地將價(jià)值一億五千萬(wàn)美元的探路者號(hào)送上火星,卻發(fā)現(xiàn)它居然出現(xiàn)了拖延癥。尋路者號(hào)對(duì)于優(yōu)先度最高的任務(wù)不聞不問(wèn),卻把時(shí)間都花在那些中等優(yōu)先度的任務(wù)上。

無(wú)處不在的調(diào)度算法:如何科學(xué)地管理自己的時(shí)間?

大名鼎鼎的 JPL(噴氣推進(jìn)實(shí)驗(yàn)室)小組爆肝數(shù)日,最終發(fā)現(xiàn)了元兇,那就是調(diào)度中的大敵人:優(yōu)先級(jí)倒置 (priority inversion)。具體是這樣的,系統(tǒng)先運(yùn)行一個(gè)低優(yōu)先級(jí)任務(wù)占用一些系統(tǒng)資源,然后根據(jù)計(jì)時(shí)器中途中斷任務(wù),調(diào)用調(diào)度程序。

這時(shí)調(diào)度程序想運(yùn)行高優(yōu)先級(jí)的任務(wù),但因?yàn)橐玫牟糠仲Y源被低優(yōu)先級(jí)任務(wù)占著,所以只能退而運(yùn)行中優(yōu)先級(jí)不使用相同資源的任務(wù),或是這個(gè)占用著資源的低優(yōu)先級(jí)任務(wù)。因?yàn)檫@個(gè)原因,往往有些最高優(yōu)先級(jí)的任務(wù)被丟在一旁長(zhǎng)一段時(shí)間不執(zhí)行。

JPL 一旦發(fā)現(xiàn)問(wèn)題就知道怎么解決了,寫了個(gè)代碼發(fā)送到火星。這個(gè)解決方法便是優(yōu)先級(jí)繼承,方法很簡(jiǎn)單:一旦發(fā)現(xiàn)低優(yōu)先級(jí)任務(wù)占用了高優(yōu)先級(jí)任務(wù)的資源,便立刻將其優(yōu)先級(jí)升為與被占用任務(wù)相同優(yōu)先級(jí),盡快執(zhí)行完。

生活中也會(huì)遇到很多優(yōu)先級(jí)倒置的問(wèn)題,可以說(shuō)它也是拖延癥的罪魁禍?zhǔn)字弧1热缥易罱睦?,需要交學(xué)費(fèi),非常緊急(不按時(shí)交開(kāi)除學(xué)籍?。欢y行在山下,下山得騎車。借車這事,在我心里優(yōu)先級(jí)又不高,結(jié)果便一直沒(méi)借車,去忙些其他事情了。

直到最近學(xué)校發(fā)來(lái)最后通牒:“快交學(xué)費(fèi)!” 可以去會(huì)計(jì)科,于是便不用下山了,也就不用借自行車,也就沒(méi)有低優(yōu)先任務(wù)阻礙交學(xué)費(fèi)這個(gè)緊急任務(wù)了,于是我也就沒(méi)有被開(kāi)除了(這才是重點(diǎn))。

事實(shí)上,下次碰到這樣這樣的事情,正確做法是將借自行車升級(jí)為交學(xué)費(fèi)一樣緊急的事情。

以上講的都涉及到優(yōu)先限制,也就是有些事只能在某些事之后完成。

撞上墻了!

無(wú)處不在的調(diào)度算法:如何科學(xué)地管理自己的時(shí)間?

Eugene Lawler 可以說(shuō)是20世紀(jì)研究?jī)?yōu)先限制最杰出的科學(xué)家,他幾乎花了一生時(shí)間來(lái)思考怎么才能更有效地完成一系列接連任務(wù)。因?yàn)楫?dāng)一個(gè)普通調(diào)度問(wèn)題加入優(yōu)先限制后,可能會(huì)變得很不一樣。

比如說(shuō)最早完成日期,如果加入優(yōu)先限制,就會(huì)發(fā)現(xiàn)原來(lái)策略行不通了,因?yàn)橛行┤蝿?wù)即使截止日期早,但卻得在另一件任務(wù)之后做。而 Lawler 證明只需要反過(guò)來(lái)從后往前就能很好解決,也就是先找沒(méi)有未完成任務(wù)中沒(méi)有其他任務(wù)依賴的任務(wù),找出其中截止日期最晚的,放在調(diào)度表最后,然后不斷重復(fù)這個(gè)操作就行了。

此外,他還發(fā)現(xiàn)了很多很有意思的其他問(wèn)題。比如說(shuō)最短處理時(shí)間,當(dāng)加入優(yōu)先限制后,似乎還是一個(gè)很基礎(chǔ)的問(wèn)題,但事實(shí)上卻沒(méi)有一個(gè)有效解決它的方法。不光是 Lawler 沒(méi)想出來(lái),其他研究人員也都沒(méi)想出來(lái)。

而且不光最短處理時(shí)間問(wèn)題, 情況遠(yuǎn)遠(yuǎn)比這更糟。那就是, Lawler 發(fā)現(xiàn)有一系列類似問(wèn)題,都不能得到有效解決,于是調(diào)度理論也就撞上墻了。

不過(guò)這也激起了像 Lawler 這樣的頂尖研究人員的雄心,去探索調(diào)度問(wèn)題中到底哪些是無(wú)法被解決的,哪些又能被解決的。也就是說(shuō)對(duì)整個(gè)調(diào)度理論,進(jìn)行一次大勘察,而這個(gè)大勘察現(xiàn)在都還在繼續(xù)著。

最近研究顯示,調(diào)度問(wèn)題中有7%的問(wèn)題現(xiàn)在尚未理解。

而即使是剩下93%理解的問(wèn)題,情況也不容樂(lè)觀,其中只有9%是可以被有效解決的,而剩下84%都被證明無(wú)法被解決。也就是說(shuō)事實(shí)上對(duì)于大多數(shù)調(diào)度問(wèn)題,確實(shí)也沒(méi)有最佳方法。

所以當(dāng)我們對(duì)管理時(shí)間感到壓力山大時(shí),也不用太自責(zé),或許它本來(lái)就太難了。然而,這里提到的一些算法還是可以作為你處理這些難問(wèn)題的起點(diǎn),即使不是最優(yōu)方法,但至少有個(gè)比較好的方法可以使用。

停停停,先來(lái)干這個(gè):優(yōu)先處理

到目前為止說(shuō)的都是些讓問(wèn)題變得更復(fù)雜的因素,那現(xiàn)在來(lái)看看讓問(wèn)題變得更簡(jiǎn)單的吧。比如如果能夠在某件任務(wù)中途停下來(lái),而去干其他事。這個(gè)叫作搶先 (preemption)的性質(zhì),讓問(wèn)題又發(fā)生了大大的改變。

一些之前無(wú)法被解決的問(wèn)題,又能被解決了。比如說(shuō)加入優(yōu)先限制的最短處理時(shí)間問(wèn)題,如果加入搶先后,就又能得到有效解決了。只要不停切換為處理當(dāng)前重要度最大的任務(wù)即可。

搶先,尤其適合應(yīng)對(duì)不確定性。假設(shè)在進(jìn)行一些任務(wù)時(shí),同時(shí)有新的任務(wù)突然加入,那么就需要重新考慮當(dāng)前該運(yùn)行的任務(wù),也就是設(shè)置哪個(gè)任務(wù)搶先。

不確定性對(duì)策略的影響不大,仍然按照加入搶先后的策略進(jìn)行就可以了。

搶先處理的代價(jià)

無(wú)處不在的調(diào)度算法:如何科學(xué)地管理自己的時(shí)間?

搶先有它的好處,當(dāng)然也就有其缺點(diǎn),環(huán)境切換 (Context Switch)。而環(huán)境切換時(shí),是需要付出一些代價(jià)的。

日常中我們也常會(huì)碰到,從某事切換到另一件事時(shí),有時(shí)需要調(diào)整下心理狀態(tài),或者工作環(huán)境。比如說(shuō)查看郵件時(shí),得打開(kāi)郵件軟件,等上好一會(huì);如果要寫代碼,得登錄終端,調(diào)節(jié)好狀態(tài);如果寫作,又得找來(lái)卡片,筆墨,工具書...

任務(wù)和任務(wù)之間切換時(shí),是需要耗費(fèi)額外時(shí)間的。當(dāng)任務(wù)少時(shí),或許還看不出有什么問(wèn)題,但當(dāng)我們把任務(wù)切換頻率提到很高時(shí),就會(huì)出現(xiàn)一個(gè)很奇怪的現(xiàn)象系統(tǒng)顛簸 (thrashing).

簡(jiǎn)單的解釋就是,假設(shè)有很多任務(wù),我們想進(jìn)行多任務(wù)處理,于是就給每個(gè)任務(wù)分配相等但少量的時(shí)間,不停地來(lái)回切換處理任務(wù),這類似于計(jì)算機(jī)系統(tǒng)的分時(shí)處理。

假設(shè)每個(gè)任務(wù)都需要準(zhǔn)備時(shí)間,于是當(dāng)任務(wù)太多,分配給每個(gè)任務(wù)的時(shí)間塊很短時(shí),就會(huì)出現(xiàn)不斷在任務(wù)之間切換,而每次準(zhǔn)備時(shí)間就把時(shí)間塊用完了的現(xiàn)象。這樣就會(huì)不斷在各個(gè)任務(wù)上移動(dòng),而實(shí)際工作卻一點(diǎn)沒(méi)做的現(xiàn)象,即系統(tǒng)顛簸。

日常生活中類似的,一有郵件就點(diǎn)開(kāi)瞧瞧,一有信息就拿起來(lái)看看,有過(guò)經(jīng)驗(yàn)的人也知道這樣對(duì)效率影響有多大。

對(duì)于計(jì)算機(jī)來(lái)說(shuō),這個(gè)問(wèn)題可以簡(jiǎn)單用升級(jí)內(nèi)存或緩存的手法解決,當(dāng)然對(duì)于我們?nèi)?,要升?jí)大腦可沒(méi)那么簡(jiǎn)單,或許還得等到多年以后生物技術(shù)的發(fā)展。

但也還是有些方法來(lái)避免這個(gè)問(wèn)題的。第一,我們可以減少任務(wù)的數(shù)量,對(duì)不重要的事情說(shuō)不,把精力只集中在少數(shù)任務(wù)上。第二,我們可以規(guī)定最短時(shí)間塊得有的時(shí)間,也就是很流行的番茄鐘,給每個(gè)任務(wù)規(guī)定一個(gè)充足的最短時(shí)間。

當(dāng)然,如果你不想減少任務(wù)數(shù)量,也不想麻煩的使用番茄鐘,調(diào)度中一些其他技巧也能幫組你避免環(huán)境切換的損耗。

比如說(shuō)中斷結(jié)合 (Interrupt Coalescing),其實(shí)就是批量處理。簡(jiǎn)單說(shuō)就是把類似任務(wù)放在一起完成,這樣也就避免了環(huán)境切換。比如說(shuō)把一天的特定半個(gè)小時(shí)全部用來(lái)回復(fù)郵件和發(fā)郵件,就能提高很多效率。

運(yùn)用這個(gè)技巧的典范人物就是大神級(jí)程序員 Donald Knuth,他說(shuō):“我一次只干一件事。” 當(dāng)然,他說(shuō)的一件事是指需要相同環(huán)境的一類任務(wù)。比如說(shuō)在“2014 TeX 大調(diào)整”中,他就一下把過(guò)去6年大家關(guān)于 TeX 反應(yīng)的所有bug都修復(fù)了。完成之后還掛上“等待2021年的大調(diào)整”。不僅如此,他也沒(méi)有電子郵箱,就連郵件都是三個(gè)月才看一次,而傳真更是六個(gè)月才看一次。

其實(shí)我想知道其他時(shí)間他都干什么去了。

怎么管理自己的時(shí)間

無(wú)處不在的調(diào)度算法:如何科學(xué)地管理自己的時(shí)間?

最后回到主題,怎么利用調(diào)度算法最優(yōu)地管理自己的時(shí)間?

很遺憾,答案是沒(méi)有。因?yàn)楝F(xiàn)實(shí)中要處理的調(diào)度問(wèn)題往往都是不可解決的,也就是沒(méi)有最好的調(diào)度方案。

但是呢,至少我們也能從中借鑒到一些小技巧運(yùn)用于時(shí)間管理中,比漫無(wú)目的地東一棒西一錘瞎干的好。

  • 明確度量任務(wù)完成的標(biāo)準(zhǔn),根據(jù)這個(gè)標(biāo)準(zhǔn)制定計(jì)劃。
  • 明確手頭任務(wù)的重要性,再根據(jù)任務(wù)完成所需時(shí)間進(jìn)行估算,先完成最緊急最重要的任務(wù)。
  • 當(dāng)一個(gè)緊急任務(wù)必須在一個(gè)不緊急任務(wù)之后才能進(jìn)行時(shí),將這個(gè)不緊急任務(wù)升級(jí)為同樣緊急的任務(wù)。
  • 不要嘗試短時(shí)間內(nèi)進(jìn)行多任務(wù),而是將相同任務(wù)歸類,然后一段時(shí)間只做一類任務(wù)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    国产免费人成视频尤物| 国产传媒免费观看视频| 狠狠干狠狠操在线播放| 99久免费精品视频在线观| 日韩性生活视频免费在线观看| 亚洲中文字幕免费人妻| 欧美人妻免费一区二区三区| 在线免费国产一区二区| 亚洲高清中文字幕一区二三区 | 亚洲欧美黑人一区二区| 后入美臀少妇一区二区| 日韩中文字幕免费在线视频| 91久久国产福利自产拍| 日本在线 一区 二区| 在线观看视频日韩精品| 日韩一级免费中文字幕视频 | 色婷婷丁香激情五月天| 免费在线观看激情小视频| 国产亚洲精品岁国产微拍精品| 日韩特级黄片免费观看| 欧美日韩亚洲综合国产人| 美女露小粉嫩91精品久久久 | 成年女人午夜在线视频| 日本成人三级在线播放| 在线欧美精品二区三区| 久久亚洲精品中文字幕| 欧美午夜性刺激在线观看| 青青久久亚洲婷婷中文网| 日本二区三区在线播放| 日韩在线视频精品视频| 老熟女露脸一二三四区| 不卡视频免费一区二区三区| 久久经典一区二区三区| 日本欧美一区二区三区在线播| 中国美女偷拍福利视频| 国产精品免费自拍视频| 日韩免费午夜福利视频| 女厕偷窥一区二区三区在线| 视频一区二区三区自拍偷| 欧美日韩精品一区二区三区不卡| 日韩精品视频免费观看|