中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

java 線程池管理類(lèi):Executors
來(lái)源:易賢網(wǎng) 閱讀:1467 次 日期:2015-04-10 14:52:45
溫馨提示:易賢網(wǎng)小編為您整理了“java 線程池管理類(lèi):Executors”,方便廣大網(wǎng)友查閱!

java.util.concurrent

類(lèi) Executors

java.lang.Object

繼承者 java.util.concurrent.Executors

此類(lèi)是個(gè)工具類(lèi),它提供對(duì)Executor、ExecutorService、ScheduledExecutorService、ThreadFactory 和 Callable 類(lèi)的一些實(shí)用方法。

此類(lèi)支持以下各種方法:

* 創(chuàng)建并返回設(shè)置有常用配置的ExecutorService的方法。

* 創(chuàng)建并返回設(shè)置有常用配置的ScheduledExecutorService 的方法。

* 創(chuàng)建并返回“包裝的”ExecutorService 方法,它使特定于實(shí)現(xiàn)的方法不可訪問(wèn),只讓ExecutorService接口的方法可用。

* 創(chuàng)建并返回 ThreadFactory 的方法,它可將新創(chuàng)建的線程設(shè)置為已知的狀態(tài)。

* 創(chuàng)建并返回非閉包形式的 Callable 的方法,這樣可將其用于需要 Callable 的執(zhí)行方法中。

主要方法:

public static ExecutorService newFixedThreadPool(int nThreads)

創(chuàng)建一個(gè)可重用固定線程數(shù)的線程池,以共享的無(wú)界隊(duì)列方式來(lái)運(yùn)行這些線程。

在任意點(diǎn),在大多數(shù) nThreads 線程會(huì)處于處理任務(wù)的活動(dòng)狀態(tài)。如果在所有線程處于活動(dòng)狀態(tài)時(shí)提交附加任務(wù),

則在有可用線程之前,附加任務(wù)將在隊(duì)列中等待。如果在關(guān)閉前的執(zhí)行期間由于失敗而導(dǎo)致任何線程終止,

那么一個(gè)新線程將代替它執(zhí)行后續(xù)的任務(wù)(如果需要)。在某個(gè)線程被顯式地關(guān)閉之前,池中的線程將一直存在。

參數(shù):

nThreads - 池中的線程數(shù)

返回:

新創(chuàng)建的線程池

拋出:

IllegalArgumentException - 如果 nThreads <= 0

注意:它的全是core線程。其源碼如下:

return new ThreadPoolExecutor(nThreads, nThreads,0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueue<Runnable>());

public static ExecutorService newFixedThreadPool(int nThreads,ThreadFactory threadFactory)

創(chuàng)建一個(gè)可重用固定線程數(shù)的線程池,以共享的無(wú)界隊(duì)列方式來(lái)運(yùn)行這些線程,在需要時(shí)使用提供的 ThreadFactory 創(chuàng)建新線程。在任意點(diǎn),在大多數(shù) nThreads 線程會(huì)處于處理任務(wù)的活動(dòng)狀態(tài)。如果在所有線程處于活動(dòng)狀態(tài)時(shí)提交附加任務(wù),則在有可用線程之前,附加任務(wù)將在隊(duì)列中等待。如果在關(guān)閉前的執(zhí)行期間由于失敗而導(dǎo)致任何線程終止,那么一個(gè)新線程將代替它執(zhí)行后續(xù)的任務(wù)(如果需要)。在某個(gè)線程被顯式地關(guān)閉之前,池中的線程將一直存在。

參數(shù):

nThreads - 池中的線程數(shù)

threadFactory - 創(chuàng)建新線程時(shí)使用的工廠

返回:

新創(chuàng)建的線程池

拋出:

NullPointerException - 如果 threadFactory 為 null

IllegalArgumentException - 如果 nThreads <= 0

public static ExecutorService newSingleThreadExecutor()

創(chuàng)建一個(gè)使用單個(gè) worker 線程的 Executor,以無(wú)界隊(duì)列方式來(lái)運(yùn)行該線程。

(注意,如果因?yàn)樵陉P(guān)閉前的執(zhí)行期間出現(xiàn)失敗而終止了此單個(gè)線程,那么如果需要,一個(gè)新線程將代替它執(zhí)行后續(xù)的任務(wù))。

可保證順序地執(zhí)行各個(gè)任務(wù),并且在任意給定的時(shí)間不會(huì)有多個(gè)線程是活動(dòng)的。

與其他等效的 newFixedThreadPool(1) 不同,可保證不能對(duì)ThreadPoolExecutor重新進(jìn)行配置來(lái)使用更多的線程。

返回:

新創(chuàng)建的單線程 Executor

注意1:newSingleThreadExecutor與newFixedThreadPool(1)不同之出在于:

newSingleThreadExecutor返回的ExcutorService在析構(gòu)函數(shù)finalize()會(huì)調(diào)用shutdown(),即如果我們沒(méi)有對(duì)它調(diào)用shutdown(),那么可以確保它在被回收時(shí)調(diào)用shutdown()來(lái)終止線程。

注意2:源碼如下:

public static ExecutorService newSingleThreadExecutor() {

return new FinalizableDelegatedExecutorService

(new ThreadPoolExecutor(1, 1,0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueue<Runnable>()));

}

public static ExecutorService newSingleThreadExecutor(ThreadFactory threadFactory)

創(chuàng)建一個(gè)使用單個(gè) worker 線程的 Executor,以無(wú)界隊(duì)列方式來(lái)運(yùn)行該線程,并在需要時(shí)使用提供的 ThreadFactory 創(chuàng)建新線程。與其他等效的 newFixedThreadPool(1, threadFactory) 不同,可保證不能對(duì)ThreadPoolExecutor重新進(jìn)行配置來(lái)使用更多的線程。

參數(shù):

threadFactory - 創(chuàng)建新線程時(shí)使用的工廠

返回:

新創(chuàng)建的單線程 Executor

拋出:

NullPointerException - 如果 threadFactory 為 null

注意:newSingleThreadExecutor返回的ExcutorService在析構(gòu)函數(shù)finalize()會(huì)調(diào)用shutdown(),即如果我們沒(méi)有對(duì)它調(diào)用shutdown(),那么可以確保它在被回收時(shí)調(diào)用shutdown()來(lái)終止線程。

public static ExecutorService newCachedThreadPool()

創(chuàng)建一個(gè)可根據(jù)需要?jiǎng)?chuàng)建新線程的線程池,但是在以前構(gòu)造的線程可用時(shí)將重用它們。對(duì)于執(zhí)行很多短期異步任務(wù)的程序而言,

這些線程池通常可提高程序性能。調(diào)用 execute 將重用以前構(gòu)造的線程(如果線程可用)。

如果現(xiàn)有線程沒(méi)有可用的,則創(chuàng)建一個(gè)新線程并添加到池中。終止并從緩存中移除那些已有 60 秒鐘未被使用的線程。

因此,長(zhǎng)時(shí)間保持空閑的線程池不會(huì)使用任何資源。

注意,可以使用 ThreadPoolExecutor 構(gòu)造方法創(chuàng)建具有類(lèi)似屬性但細(xì)節(jié)不同(例如超時(shí)參數(shù))的線程池。

返回:

新創(chuàng)建的線程池

注意1:它沒(méi)有core線程。源碼如下:

public static ExecutorService newCachedThreadPool() {

return new ThreadPoolExecutor(0, Integer.MAX_VALUE,60L, TimeUnit.SECONDS,new SynchronousQueue<Runnable>());

}

public static ExecutorService newCachedThreadPool(ThreadFactory threadFactory)

創(chuàng)建一個(gè)可根據(jù)需要?jiǎng)?chuàng)建新線程的線程池,但是在以前構(gòu)造的線程可用時(shí)將重用它們,并在需要時(shí)使用提供的 ThreadFactory 創(chuàng)建新線程。

參數(shù):

threadFactory - 創(chuàng)建新線程時(shí)使用的工廠

返回:

新創(chuàng)建的線程池

拋出:

NullPointerException - 如果 threadFactory 為 null

public static ScheduledExecutorService newSingleThreadScheduledExecutor()

創(chuàng)建一個(gè)單線程執(zhí)行程序,它可安排在給定延遲后運(yùn)行命令或者定期地執(zhí)行。

(注意,如果因?yàn)樵陉P(guān)閉前的執(zhí)行期間出現(xiàn)失敗而終止了此單個(gè)線程,那么如果需要,一個(gè)新線程會(huì)代替它執(zhí)行后續(xù)的任務(wù))。

可保證順序地執(zhí)行各個(gè)任務(wù),并且在任意給定的時(shí)間不會(huì)有多個(gè)線程是活動(dòng)的。

與其他等效的 newScheduledThreadPool(1) 不同,可保證不能對(duì)ScheduledThreadPoolExecutor重新進(jìn)行配置來(lái)使用更多的線程。

返回:

新創(chuàng)建的安排執(zhí)行程序

注意1:newSingleThreadScheduledExecutor與newScheduledThreadPool(1)不同之出在于:

newSingleThreadScheduledExecutor在析構(gòu)函數(shù)finalize()會(huì)調(diào)用shutdown(),即如果我們沒(méi)有對(duì)它調(diào)用shutdown(),那么可以確保它在被回收時(shí)調(diào)用shutdown()來(lái)終止線程。

源碼如下:public static ScheduledExecutorService newSingleThreadScheduledExecutor() {

return new DelegatedScheduledExecutorService

(new ScheduledThreadPoolExecutor(1));

}

注意2:這里的ScheduledThreadPoolExecutor是core線程固定,且只有core線程,它的隊(duì)列是無(wú)界的。

public static ScheduledExecutorService newSingleThreadScheduledExecutor(ThreadFactory threadFactory)

創(chuàng)建一個(gè)單線程執(zhí)行程序,它可安排在給定延遲后運(yùn)行命令或者定期地執(zhí)行。

(注意,如果因?yàn)樵陉P(guān)閉前的執(zhí)行期間出現(xiàn)失敗而終止了此單個(gè)線程,那么如果需要,一個(gè)新線程會(huì)代替它執(zhí)行后續(xù)的任務(wù))。

可保證順序地執(zhí)行各個(gè)任務(wù),并且在任意給定的時(shí)間不會(huì)有多個(gè)線程是活動(dòng)的。與其他等效的 newScheduledThreadPool(1, threadFactory) 不同,可保證不能對(duì)ScheduledThreadPoolExecutor重新進(jìn)行配置來(lái)使用更多的線程。

參數(shù):

threadFactory - 創(chuàng)建新線程時(shí)使用的工廠

返回:

新創(chuàng)建的安排執(zhí)行程序

拋出:

NullPointerException - 如果 threadFactory 為 null

public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize)

創(chuàng)建一個(gè)線程池,它可安排在給定延遲后運(yùn)行命令或者定期地執(zhí)行。

參數(shù):

corePoolSize - 池中所保存的線程數(shù),即使線程是空閑的也包括在內(nèi)。

返回:

新創(chuàng)建的安排線程池

拋出:

NullPointerException - 如果 threadFactory 為 null

public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize, ThreadFactory threadFactory)

創(chuàng)建一個(gè)線程池,它可安排在給定延遲后運(yùn)行命令或者定期地執(zhí)行。

參數(shù):

corePoolSize - 池中所保存的線程數(shù),即使線程是空閑的也包括在內(nèi)

threadFactory - 執(zhí)行程序創(chuàng)建新線程時(shí)使用的工廠

返回:

新創(chuàng)建的安排線程池

拋出:

IllegalArgumentException - 如果 corePoolSize < 0

NullPointerException - 如果 threadFactory 為 null

public static ExecutorService unconfigurableExecutorService(ExecutorService executor)

返回一個(gè)將所有已定義的 ExecutorService 方法委托給指定執(zhí)行程序的對(duì)象,這樣就無(wú)法使用強(qiáng)制轉(zhuǎn)換來(lái)訪問(wèn)其他的方法。

這提供了一種可安全地“凍結(jié)”配置并且不允許調(diào)整給定具體實(shí)現(xiàn)的方法。

參數(shù):

executor - 底層實(shí)現(xiàn)

返回:

一個(gè) ExecutorService 實(shí)例

拋出:

NullPointerException - 如果 executor 為 null

注意:它的目的是只暴露ExecutorService接口方法,使特定于實(shí)現(xiàn)的方法不可訪問(wèn)。它是通過(guò)一個(gè)類(lèi)來(lái)包裝executor來(lái)實(shí)現(xiàn)的,該類(lèi)實(shí)現(xiàn)了ExecutorService接口。具體來(lái)說(shuō)只是調(diào)用executor的相應(yīng)函數(shù)。具體可以查閱源碼。

public static ScheduledExecutorService unconfigurableScheduledExecutorService(ScheduledExecutorService executor)

返回一個(gè)將所有已定義的 ExecutorService 方法委托給指定執(zhí)行程序的對(duì)象,這樣就無(wú)法使用強(qiáng)制轉(zhuǎn)換來(lái)訪問(wèn)其他的方法。。這提供了一種可安全地“凍結(jié)”配置并且不允許調(diào)整給定具體實(shí)現(xiàn)的方法。

參數(shù):

executor - 底層實(shí)現(xiàn)

返回:

一個(gè) ScheduledExecutorService 實(shí)例

拋出:

NullPointerException - 如果 executor 為 null

注意:其目的和unconfigurableExecutorService相似。

public static ThreadFactory defaultThreadFactory()

返回用于創(chuàng)建新線程的默認(rèn)線程工廠。此工廠創(chuàng)建同一 ThreadGroup 中 Executor 使用的所有新線程。

如果有 SecurityManager,則它使用 System.getSecurityManager() 組來(lái)調(diào)用此 defaultThreadFactory 方法,其他情況則使用線程組。

每個(gè)新線程都作為非守護(hù)程序而創(chuàng)建,并且具有設(shè)置為 Thread.NORM_PRIORITY 中較小者的優(yōu)先級(jí)以及線程組中允許的最大優(yōu)先級(jí)。

新線程具有可通過(guò) pool-N-thread-M 的 Thread.getName() 來(lái)訪問(wèn)的名稱(chēng),其中 N 是此工廠的序列號(hào),M 是此工廠所創(chuàng)建線程的序列號(hào)。

返回:

線程工廠

public static ThreadFactory privilegedThreadFactory()

返回用于創(chuàng)建新線程的線程工廠,這些新線程與當(dāng)前線程具有相同的權(quán)限。此工廠創(chuàng)建具有與 defaultThreadFactory() 相同設(shè)置的線程,

新線程的 AccessControlContext 和 contextClassLoader 的其他設(shè)置與調(diào)用此 privilegedThreadFactory 方法的線程相同。可以在 AccessController.doPrivileged(java.security.PrivilegedAction) 操作中創(chuàng)建一個(gè)新 privilegedThreadFactory,設(shè)置當(dāng)前線程的訪問(wèn)控制上下文,以便創(chuàng)建具有該操作中保持的所選權(quán)限的線程。

注意,雖然運(yùn)行在此類(lèi)線程中的任務(wù)具有與當(dāng)前線程相同的訪問(wèn)控制和類(lèi)加載器,但是它們無(wú)需具有相同的 ThreadLocal

或 InheritableThreadLocal 值。如有必要,使用 ThreadPoolExecutor.beforeExecute(java.lang.Thread, java.lang.Runnable)

在 ThreadPoolExecutor 子類(lèi)中運(yùn)行任何任務(wù)前,可以設(shè)置或重置線程局部變量的特定值。

另外,如果必須初始化 worker 線程,以具有與某些其他指定線程相同的 InheritableThreadLocal 設(shè)置,

則可以在線程等待和服務(wù)創(chuàng)建請(qǐng)求的環(huán)境中創(chuàng)建自定義的 ThreadFactory,而不是繼承其值。

返回:

線程工廠

拋出:

AccessControlException - 如果當(dāng)前訪問(wèn)控制上下文沒(méi)有獲取和設(shè)置上下文類(lèi)加載器的權(quán)限。

public static <T> Callable<T> callable(Runnable task,T result)

返回 Callable 對(duì)象,調(diào)用它時(shí)可運(yùn)行給定的任務(wù)并返回給定的結(jié)果。這在把需要 Callable 的方法應(yīng)用到其他無(wú)結(jié)果的操作時(shí)很有用。

參數(shù):

task - 要運(yùn)行的任務(wù)

result - 返回的結(jié)果

返回:

一個(gè) callable 對(duì)象

拋出:

NullPointerException - 如果 task 為 null

public static Callable<Object> callable(Runnable task)

返回 Callable 對(duì)象,調(diào)用它時(shí)可運(yùn)行給定的任務(wù)并返回 null。

參數(shù):

task - 要運(yùn)行的任務(wù)

返回:

一個(gè) callable 對(duì)象

拋出:

NullPointerException - 如果 task 為 null

public static Callable<Object> callable(PrivilegedAction<?> action)

返回 Callable 對(duì)象,調(diào)用它時(shí)可運(yùn)行給定特權(quán)的操作并返回其結(jié)果。

參數(shù):

action - 要運(yùn)行的特權(quán)操作

返回:

一個(gè) callable 對(duì)象

拋出:

NullPointerException - 如果 action 為 null

更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:java 線程池管理類(lèi):Executors
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!

2026上岸·考公考編培訓(xùn)報(bào)班

  • 報(bào)班類(lèi)型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專(zhuān)用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
咨詢(xún)QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲国产精品尤物yw在线观看| 欧美大片网址| 欧美激情亚洲视频| 在线日韩视频| 欧美视频精品在线观看| 性色av一区二区三区红粉影视| 韩国三级电影一区二区| 欧美极品一区二区三区| 国产精品视频观看| 欧美破处大片在线视频| 久久精品理论片| 亚洲一级黄色av| 亚洲高清一区二| 国内精品视频666| 一区二区三区日韩| 99视频在线观看一区三区| 国产亚洲午夜| 国产精品久久久久久久久搜平片| 久久婷婷亚洲| 久久国产精品网站| 亚洲一区中文| 亚洲精品在线视频| 日韩亚洲欧美成人| 日韩午夜av在线| 亚洲欧洲综合另类| 亚洲免费电影在线| 久久久久一区二区三区| 久久久夜夜夜| 久久免费精品日本久久中文字幕| 亚洲永久字幕| 久久亚洲午夜电影| 国产精品一级久久久| 国产日韩欧美制服另类| 国产精品夜夜夜| 国产区精品视频| 亚洲第一视频| 免费不卡在线观看| 欧美区视频在线观看| 欧美日韩视频不卡| 欧美小视频在线| 国产精品a久久久久久| 国产欧美一区二区精品性| 国产精品嫩草99av在线| 国产日韩欧美一区二区三区在线观看 | 亚洲电影免费在线| 亚洲国产高潮在线观看| 日韩亚洲精品电影| 欧美日韩二区三区| 国产一区视频在线看| 国产伪娘ts一区| 久久国产精品久久久久久电车| 久久日韩精品| 亚洲国产美女精品久久久久∴| 欧美成年网站| 国产午夜一区二区三区| 午夜在线播放视频欧美| 欧美激情欧美狂野欧美精品| 国产精品成人一区二区三区吃奶| 国产午夜精品麻豆| 久久美女艺术照精彩视频福利播放| 黑人巨大精品欧美一区二区小视频| 久久人体大胆视频| 日韩一区二区精品在线观看| 国产三区精品| 欧美成人精品一区| 亚洲欧美日韩精品在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品成人一区二区艾草| 久久精品在线观看| 国产欧美一区二区精品性 | 国产精品免费看| 久久不见久久见免费视频1| 亚洲国产精品日韩| 久久久久九九九九| 国产精品伊人日日| 欧美成人精品在线| 国产一区二区三区成人欧美日韩在线观看| 久久超碰97人人做人人爱| 亚洲激情视频在线| 狼狼综合久久久久综合网 | 久久久久9999亚洲精品| 亚洲精品乱码久久久久久| 久久久久网站| 一本色道久久综合| 亚洲视频一区二区免费在线观看| 蜜桃视频一区| 亚洲第一区在线| 国产精品视频久久| 欧美伦理a级免费电影| 亚洲欧洲精品一区二区三区不卡 | 欧美日韩免费在线观看| 久久久久九九九| 亚洲免费综合| 国产精品日韩久久久| 日韩亚洲欧美精品| 精品av久久707| 久久久久网址| 亚洲自拍啪啪| 免费人成网站在线观看欧美高清| 国产一区二区在线观看免费播放| 欧美一区二区黄色| 国产亚洲毛片在线| 欧美日韩国产成人高清视频| 久久综合中文字幕| 最新成人av网站| 欧美精品在线免费| 久久一区视频| 99re6热在线精品视频播放速度| 欧美大片18| 免费成人av在线看| 美腿丝袜亚洲色图| 一区二区精品在线| 国产精品裸体一区二区三区| 欧美综合第一页| 西西人体一区二区| 亚洲欧美日韩国产综合| 亚洲欧美日韩精品久久奇米色影视 | 欧美日韩一区二区三区在线观看免| 99精品福利视频| 洋洋av久久久久久久一区| 一卡二卡3卡四卡高清精品视频| 99视频精品免费观看| 亚洲图片欧美一区| 亚洲福利视频二区| 91久久国产精品91久久性色| 国产精品国产自产拍高清av| 久久精品国产第一区二区三区最新章节| 好吊日精品视频| 国内外成人免费激情在线视频网站| 欧美国产日本| 欧美日韩久久| 国产免费成人av| 欧美三级日韩三级国产三级| 久久精品国产亚洲aⅴ| 一区二区欧美在线| 亚洲欧美视频一区| 亚洲日本欧美日韩高观看| 一区二区三区四区五区视频 | 欧美日韩美女| 国产精品欧美日韩| 极品日韩久久| 国产欧美韩国高清| 欧美日产一区二区三区在线观看| 性欧美大战久久久久久久久| 久久久激情视频| 欧美另类人妖| 国产一区二区三区四区在线观看| 91久久久久久国产精品| 午夜久久福利| 亚洲一区二区三区视频播放| 亚洲人成在线观看网站高清| 亚洲男人的天堂在线观看| 巨乳诱惑日韩免费av| 国产精品九九久久久久久久| 欧美系列精品| 在线观看国产精品网站| 国自产拍偷拍福利精品免费一| 亚洲伦理在线免费看| 亚洲国产欧美一区二区三区久久| 亚洲欧美福利一区二区| 欧美激情精品久久久久久黑人| 欧美精品二区| 国产一区视频网站| 先锋影音网一区二区| 欧美深夜福利| 亚洲伦伦在线| 欧美激情中文字幕一区二区| 一区二区三区在线看| 国产精品一区二区三区乱码| 亚洲激情专区| 久久综合免费视频影院| 国产亚洲精品资源在线26u| 亚洲资源在线观看| 国产精品久久久久久久午夜片| 日韩视频在线一区二区三区| 欧美成人有码| 欧美午夜精品| 99精品99久久久久久宅男| 欧美成人第一页| 亚洲国产中文字幕在线观看| 美女精品自拍一二三四| 亚洲大片精品永久免费| 麻豆精品在线观看| 久久9热精品视频| 国产精品一区久久久久| 国产一区二区三区四区在线观看 | 国产精品国产三级国产专播精品人| 亚洲精品乱码久久久久久按摩观 | 国产色产综合产在线视频| 亚洲综合另类| 欧美成人精品在线| 亚洲激情视频| 欧美日韩一区二区欧美激情| 99re热这里只有精品免费视频| 欧美华人在线视频| 亚洲大片在线| 欧美激情第10页| 亚洲一区二区三区高清不卡| 欧美午夜精品久久久| 久久国产精彩视频|