• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于現(xiàn)代并發(fā)技術(shù)的測控系統(tǒng)軟件設(shè)計(jì)

    2018-11-05 02:54:54王越夏京川祁正興陸小龍
    機(jī)械制造與自動化 2018年5期
    關(guān)鍵詞:內(nèi)核線程測控

    王越,夏京川,祁正興,陸小龍

    (四川大學(xué) 制造科學(xué)與工程學(xué)院,四川 成都 610065)

    0 引言

    測控系統(tǒng)軟件設(shè)計(jì)質(zhì)量直接影響著測控系統(tǒng)穩(wěn)定運(yùn)行。其中,多個(gè)方面的因素決定了并發(fā)編程在現(xiàn)代測控系統(tǒng)軟件中的必要性:1) 數(shù)據(jù)采集量大,并需要進(jìn)行復(fù)雜算法處理,要求系統(tǒng)具有一定的可靠性、穩(wěn)定性和實(shí)時(shí)性;2) 系統(tǒng)復(fù)雜度與集成度的不斷提高增加了用戶與應(yīng)用程序交互的頻率,要求軟件具有良好的響應(yīng)能力;3) 現(xiàn)代測控系統(tǒng)網(wǎng)絡(luò)化發(fā)展趨勢以及云計(jì)算的需求,軟件中信息的傳輸速率需要進(jìn)一步提高[1-2]。本文描述了利用Windows系統(tǒng).Net Framework中的并發(fā)技術(shù)來設(shè)計(jì)測控系統(tǒng)軟件,增強(qiáng)系統(tǒng)的整體性能。

    1 并發(fā)編程技術(shù)簡介

    1.1 早期多線程技術(shù)

    Windows系統(tǒng)中并發(fā)編程通常采用多線程模式,線程是運(yùn)行在一個(gè)單一進(jìn)程上下文中的邏輯流,由內(nèi)核進(jìn)行調(diào)度,其共享所在進(jìn)程的整個(gè)虛擬地址空間。每一個(gè)線程都包括線程內(nèi)核對象、線程環(huán)境塊、用戶模式棧、內(nèi)核模式棧等內(nèi)容[3]。進(jìn)程在創(chuàng)建或終止任一線程時(shí),會調(diào)用進(jìn)程中加載的所有非托管DLL(dynamic linking library,動態(tài)鏈接庫)的DllMain方法。

    使用Thread編程模型,開發(fā)者能夠直接創(chuàng)建與操縱操作系統(tǒng)級別的線程[1]。然而,線程的每一次創(chuàng)建、終止過程都會產(chǎn)生巨大的開銷;同時(shí),一個(gè)CPU任一時(shí)刻只能運(yùn)行一個(gè)線程,過多的線程會導(dǎo)致頻繁的線程上下文切換,造成更為嚴(yán)重的性能損耗。通常程序開發(fā)者無法了解計(jì)算機(jī)運(yùn)行時(shí)特性,一味地增加線程必然會導(dǎo)致計(jì)算機(jī)資源的極大浪費(fèi)。

    Thread Pool模型則將線程管理工作移交到了操作系統(tǒng)本身,采取復(fù)用的方式(工作項(xiàng)在線程中排隊(duì),線程池線程執(zhí)行完當(dāng)前工作項(xiàng)后,繼續(xù)執(zhí)行下一個(gè)工作項(xiàng))來確保計(jì)算機(jī)中線程數(shù)量維持在一個(gè)合理的值。Thread Pool使用特定的探索方式來決定是否添加新的線程,以及保證線程池中最大線程數(shù)量。在較新的Net版本(4.0及以上)中,線程數(shù)量最大值由可利用內(nèi)存空間決定,這能充分利用現(xiàn)代計(jì)算機(jī)的多核CPU硬件資源[4]。

    1.2 任務(wù)與異步

    TPL(task parallel library,任務(wù)并行庫)是基于Thread Pool工作原理提出的一種新的并發(fā)編程模型,其提供了一個(gè)規(guī)范、更易理解的并發(fā)編程結(jié)構(gòu)。

    Task是一種抽象概念,代表并發(fā)工作的基本單元,即是指被創(chuàng)建活動運(yùn)行的同時(shí),主(創(chuàng)建)線程仍然在持續(xù)執(zhí)行[5]。Task可指定為工作線程或I/O線程,由Thread Pool進(jìn)行調(diào)度,內(nèi)置為后臺線程執(zhí)行并且不可改變。通過配置TaskCreationOptions與TaskScheduler選項(xiàng)可調(diào)整運(yùn)行時(shí)Task參數(shù),以適應(yīng)不同的工作需求。

    異步的核心理念是異步操作,啟動了的操作將會在一段時(shí)間后完成,該操作不會阻塞原來的線程,其結(jié)束時(shí)會通知原有線程操作已完成[6]。編譯器后臺采用FSM(有限狀態(tài)機(jī))原理,實(shí)現(xiàn)future模式或回調(diào)機(jī)制,以避免產(chǎn)生不必要的線程。實(shí)現(xiàn)異步的通用方式為創(chuàng)建一個(gè)Task并指定ContinueWith()方法,通過配置同步上下文(SynchronizationContext),可將完成后的延續(xù)任務(wù)(continuation)調(diào)回到原有線程中執(zhí)行?,F(xiàn)代的異步.Net程序則主要使用兩個(gè)關(guān)鍵字:async和await(.Net 4.5及以上)以簡化異步操作的調(diào)用。

    1.3 數(shù)據(jù)訪問與同步

    同一進(jìn)程的多個(gè)線程將共享絕大多數(shù)運(yùn)行資源與數(shù)據(jù)。當(dāng)多個(gè)線程想同時(shí)獲得同一個(gè)資源時(shí),將產(chǎn)生競爭;當(dāng)多段并發(fā)代碼想同時(shí)訪問一個(gè)數(shù)據(jù),并且至少有一段代碼在修改數(shù)據(jù)時(shí),數(shù)據(jù)將變得不安全或產(chǎn)生錯誤。在以上兩種情況下,都需要使用同步技術(shù)來協(xié)調(diào)多線程的執(zhí)行,保證線程間的調(diào)用安全。

    Windows提供了用戶與內(nèi)核模式構(gòu)造線程同步機(jī)制。用戶模式使用特殊CPU指令來協(xié)調(diào)線程,以確保數(shù)據(jù)變量呈現(xiàn)為原子性;而內(nèi)核模式由Windows自身提供,可根據(jù)線程運(yùn)行情況切換至等待、就緒、休眠等狀態(tài),有利于系統(tǒng)監(jiān)測與整體管理[2]。為在實(shí)現(xiàn)系統(tǒng)可進(jìn)行整體管理的同時(shí)最大化優(yōu)化線程同步性能,更合理的方式是混合使用用戶模式與內(nèi)核模式,其實(shí)現(xiàn)形式包括Monitor、Lock、ManualResetEventSlim、ReaderWriterLockSlim等。

    1.4 線程停止與任務(wù)取消

    當(dāng)程序并發(fā)運(yùn)行時(shí),用戶常常因?yàn)槟承┰蛑兄共l(fā)線程。早期技術(shù)如Abort()方法將強(qiáng)制退出線程,可能使進(jìn)程中共享資源處于無效狀態(tài)而導(dǎo)致后續(xù)的錯誤,Interrupt()方法僅在線程處于WaitSleepJoin狀態(tài)下完成,該狀態(tài)由于線程原因可能永遠(yuǎn)無法達(dá)到從而造成死鎖。在.Net 4.0中,提供CancellationTokenSource與CancellationToken來處理取消問題。其實(shí)現(xiàn)機(jī)制主要為協(xié)調(diào)取消請求與并發(fā)操作,在操作內(nèi)部定義可安全取消位置,僅當(dāng)程序運(yùn)行在安全位置(通常采用輪詢方式)時(shí)拋出異常并取消線程。

    2 并發(fā)技術(shù)在測控系統(tǒng)軟件中的應(yīng)用

    由上述可見,多線程的主要優(yōu)勢在于構(gòu)建性能良好、可伸縮、響應(yīng)靈敏的應(yīng)用程序。其核心理念在于將線程與任務(wù)分開,線程由框架根據(jù)操作系統(tǒng)特性創(chuàng)建并維護(hù),開發(fā)者僅需要創(chuàng)建可劃分為小塊的任務(wù),框架將自動地將任務(wù)調(diào)度到合適的線程并執(zhí)行。

    為實(shí)現(xiàn)以上目標(biāo),關(guān)鍵在于兩點(diǎn):1) 不手動創(chuàng)建額外的線程;2) 已創(chuàng)建的線程不應(yīng)該被阻塞以便更好地復(fù)用。

    2.1 系統(tǒng)體系結(jié)構(gòu)

    在某測控系統(tǒng)設(shè)計(jì)中,程序應(yīng)用劃分為多個(gè)模塊,其硬件結(jié)構(gòu)與軟件框架如圖1所示。

    圖1 系統(tǒng)體系結(jié)構(gòu)圖

    圖中每個(gè)實(shí)線矩形框表示一個(gè)軟件模塊和功能。為達(dá)到最佳應(yīng)用效果,各軟件模塊通常需要同時(shí)工作,程序應(yīng)運(yùn)行在多線程模式。本文以下內(nèi)容將著重介紹各個(gè)模塊并發(fā)狀態(tài)下的應(yīng)用技術(shù)與實(shí)現(xiàn)方法。

    2.2 數(shù)據(jù)采集模塊

    數(shù)據(jù)對于測控系統(tǒng)至關(guān)重要。通常而言,被測物理量(信號)通過傳感器采集,并在采集設(shè)備中對信號進(jìn)行處理(硬件濾波、數(shù)模轉(zhuǎn)換等);計(jì)算機(jī)通過軟件驅(qū)動采集設(shè)備,獲取信號進(jìn)行再次加工(如軟件濾波、數(shù)值轉(zhuǎn)換),得到控制信號后輸出到執(zhí)行機(jī)構(gòu)或視圖界面,完成對系統(tǒng)的控制或展現(xiàn)給用戶。

    為保證控制系統(tǒng)的有效可靠,必然要求采集模塊具有較高的實(shí)時(shí)性和穩(wěn)定性。通過任務(wù)和異步,能夠保證計(jì)算機(jī)在調(diào)度采集設(shè)備的同時(shí),并行執(zhí)行其他的業(yè)務(wù)邏輯。

    首先,對采集設(shè)備API進(jìn)行包裝,如:

    public class SomeDevice {

    SemaphoreSlim slim=new SemaphoreSlim(1,1);

    public async Task> GetAcquisitionAsync(object c){

    return await Task.Run( async () => {

    ...

    await slim.WaitAsync();

    ...//讀取數(shù)據(jù)

    slim.Release();

    return datas;//返回?cái)?shù)據(jù)

    });

    }

    }

    代碼中使用了SemaphoreSlim類型的一個(gè)信號量對象來實(shí)現(xiàn)資源同步,這是目前.Net平臺中唯一支持異步訪問的同步構(gòu)造。當(dāng)SemaphoreSlim最大計(jì)數(shù)為1時(shí),可對其保護(hù)的資源進(jìn)行互斥訪問。在應(yīng)用程序的其他業(yè)務(wù)中,使用如下方式來得到采集數(shù)據(jù):

    vardevice = new SomeDevice();

    var datas = await device.GetAcquisitionAsync(null);

    當(dāng)程序主線程執(zhí)行方法遇到await關(guān)鍵字后,會啟動另一個(gè)線程池線程執(zhí)行await后所帶的異步方法,而主線程無需阻塞,直接返回以執(zhí)行其它工作。當(dāng)異步方法結(jié)束,若之后還有操作,將會被包裝為一個(gè)Task返回至主線程的任務(wù)隊(duì)列,并通知主線程盡快執(zhí)行,主線程會在合適的時(shí)間對后續(xù)Task進(jìn)行調(diào)度。

    2.3 I/O操作模塊

    目前大多數(shù)的計(jì)算機(jī)與IO設(shè)備都能夠通過DMA(direct memory access,直接內(nèi)存存取)的方式來進(jìn)行數(shù)據(jù)傳輸,此時(shí)不需要消耗CPU資源,硬件會自動進(jìn)行讀寫數(shù)據(jù)并與內(nèi)存交換[7]。然而,若使用同步I/O,CPU通知硬件設(shè)備后,線程將會阻塞,直到硬件設(shè)備完成I/O操作,Windows再喚醒線程調(diào)度給CPU繼續(xù)執(zhí)行。在這個(gè)過程中線程處于休眠狀態(tài),若程序想完成其他工作,需要創(chuàng)建新的線程。當(dāng)休眠狀態(tài)被喚醒后,因?yàn)榧尤肓诵戮€程,運(yùn)行線程數(shù)量可能已超過最合適的值,計(jì)算機(jī)將會執(zhí)行的線程時(shí)間片切換,造成巨大的性能損耗。

    使用異步操作可避免以上情況。在.Net常用的IO操作,如文件讀取、寫入,Stream的應(yīng)用,數(shù)據(jù)庫Command的執(zhí)行中,有些已經(jīng)提供了異步方法,有些則提供了早期版本的BeginXxx/EndXxx方法與IAsyncResult接口,需要使用以下方式進(jìn)行包裝:

    var io = new IODevice(...);

    await Task.Factory.FromAsync(io.BeginXxx, io.EndXxx);

    對于未提供異步方法的IO操作,可手動進(jìn)行包裝。以下代碼提供了序列化操作的異步接口與序列化到xml文件的實(shí)現(xiàn):

    public interface IAsyncSerializer{ Task WriteAsync(string path, T obj);}

    public class XmlSerializer : IAsyncSerializer{

    ...

    public async Task WriteAsync(string path, T obj){

    return await Task.Run(()=>{

    using(var stream = File.Open(path, FileMode.OpenOrCreate)){

    var serializer = new XmlSerializer(obj.GetType());

    serializer.Serialize(stream, obj);

    }

    });

    }

    }

    2.4 UI操作與業(yè)務(wù)邏輯

    隨著測控系統(tǒng)軟件綜合化程度的提高,與操作者的交互頻率也將不可避免地增加。通常GUI框架(如MFC、WinForm、WPF等)的控件與創(chuàng)建者線程具有“線程相關(guān)性”,其他線程永遠(yuǎn)無法直接訪問用戶界面控件,這為基于多線程的GUI應(yīng)用程序帶來了困擾。通過異步的方式能夠解決該問題,并進(jìn)一步提高程序的響應(yīng)能力。

    可直接將異步操作注冊到控件(如Button)的事件中,如:

    CancellationTokenSource ctSource;

    private async void ButtonStartClick(object sender, EventArgs e){

    var model = new Experiment();

    this.textBox.Text = await model.Execute(ctSource.Token);

    }

    private void ButtonStopClick(object sender, EventArgs e){

    ctSource.Cancel();

    }

    在代碼中,Execute是一個(gè)返回Task的異步方法,它將在另一個(gè)線程池線程中執(zhí)行。執(zhí)行結(jié)束后,它將返回調(diào)用者線程(在此處是UI線程)繼續(xù)后面的工作,即textBox控件Text屬性的賦值過程在UI線程中執(zhí)行。同時(shí),注意代碼中Text的新值被聲明為Execute的返回值,從而使得UI與線程池線程不再共享數(shù)據(jù),起到可變量隔離作用,以避免執(zhí)行復(fù)雜的數(shù)據(jù)同步過程和帶來的性能損失。

    并且異步調(diào)用在Execute執(zhí)行的同時(shí),UI線程能夠響應(yīng)用戶的其他操作,不至于卡頓。此外,代碼在UI線程中聲明了CancellationTokenSource對象,它的Token屬性將被傳到Execute方法中。若Execute是一個(gè)費(fèi)時(shí)的操作,用戶可操作CancellationTokenSource(如這里的點(diǎn)擊Stop按鈕)取消Execute的執(zhí)行。任務(wù)將在一個(gè)安全的、可控制的位置停止,這是開發(fā)者可以操控的。此時(shí)Execute大致的結(jié)構(gòu)將如下:

    public async Task Execute(CancellationToken token){

    return await Task.Run(()=>{

    int totalTimes=10000;

    for(int times = 0;times

    ...//其他操作

    token.ThrowIfCancellationRequest();//拋出異常以停止

    }

    return "Completed";

    },token);

    }

    2.5 數(shù)據(jù)處理

    測控系統(tǒng)通常包含大量的數(shù)據(jù)處理,包括濾波、數(shù)值轉(zhuǎn)換、計(jì)算結(jié)果、圖形圖像處理等。這些過程通常為CPU密集型操作,創(chuàng)建多于CPU內(nèi)核數(shù)的線程將嚴(yán)重影響計(jì)算機(jī)性能。使用TPL中Parallel的For、ForEach方法,開發(fā)者將復(fù)雜的線程調(diào)度過程委托給操作系統(tǒng)執(zhí)行,能夠更關(guān)注于應(yīng)用邏輯并提升并行性能。

    IEnumerable datas = await acquirer.GetAcquisitionAsync();

    object lockObject = new object();

    double result = 0;

    Parallel.ForEach(data, () => 0, (item, state, returnValue) => ExecuteCompute(item), returnValue =>{Monitor.Enter(lockObject);

    result += returnValue;

    Monitor.Exit(lockObject);

    });

    以上代碼對集合datas中的每一項(xiàng)都進(jìn)行ExecuteCompute運(yùn)算,再將運(yùn)算結(jié)果統(tǒng)計(jì)至局部變量result中。其中,每一小塊都被劃分為一個(gè)任務(wù),被動態(tài)分配到空閑線程的任務(wù)隊(duì)列中以并行方式執(zhí)行,而操作系統(tǒng)則會根據(jù)硬件特性委派給不同的CPU,并根據(jù)當(dāng)前任務(wù)與線程數(shù)量決定是否增加新的線程。

    任何一項(xiàng)任務(wù)完成后,將會繼續(xù)執(zhí)行求和操作,涉及到的result是一個(gè)共享變量,需要進(jìn)行同步。此處使用Monitor構(gòu)造能得到較好性能。

    3 結(jié)語

    本文利用.Net Framework下的現(xiàn)代并發(fā)編程API,實(shí)現(xiàn)了某測控系統(tǒng)中軟件重要模塊的編寫。其中,異步方式有利于構(gòu)建IO設(shè)備模塊和實(shí)現(xiàn)反應(yīng)迅速的GUI交互界面;而并行則適用于需要CPU執(zhí)行的計(jì)算密集性操作,以保證充分利用當(dāng)代多核多處理器的硬件性能。以上技術(shù)的實(shí)現(xiàn)為構(gòu)造一個(gè)性能良好、可伸縮、響應(yīng)靈敏的應(yīng)用程序奠定了堅(jiān)實(shí)的基礎(chǔ)。

    猜你喜歡
    內(nèi)核線程測控
    萬物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
    強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
    基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
    Linux內(nèi)核mmap保護(hù)機(jī)制研究
    《測控電路》實(shí)踐教學(xué)改革探討
    電子測試(2018年22期)2018-12-19 05:12:58
    淺談linux多線程協(xié)作
    基于現(xiàn)代測控技術(shù)及其應(yīng)用分析
    向著新航程進(jìn)發(fā)——遠(yuǎn)望7號測控船首航記錄
    太空探索(2016年12期)2016-07-18 11:13:43
    基于USB2.0協(xié)議的通用測控通信接口設(shè)計(jì)
    Linux線程實(shí)現(xiàn)技術(shù)研究
    日韩中文字幕视频在线看片| 夫妻性生交免费视频一级片| 国精品久久久久久国模美| 国产成人91sexporn| 免费观看av网站的网址| 看十八女毛片水多多多| 国产毛片在线视频| av视频免费观看在线观看| 亚洲精品乱码久久久v下载方式| 少妇人妻精品综合一区二区| 午夜福利影视在线免费观看| 久久青草综合色| 黑人猛操日本美女一级片| 少妇人妻久久综合中文| 亚洲av日韩在线播放| 人人妻人人爽人人添夜夜欢视频 | 日韩一区二区三区影片| 男人爽女人下面视频在线观看| 久久99热这里只频精品6学生| 国产成人精品婷婷| 十分钟在线观看高清视频www | 青青草视频在线视频观看| 自拍欧美九色日韩亚洲蝌蚪91 | 国产成人精品一,二区| 中文在线观看免费www的网站| 中文字幕免费在线视频6| 成人二区视频| 三上悠亚av全集在线观看 | 亚洲精品乱码久久久久久按摩| 国产永久视频网站| freevideosex欧美| av播播在线观看一区| 精品国产乱码久久久久久小说| av免费观看日本| 日韩av在线免费看完整版不卡| 日本免费在线观看一区| .国产精品久久| 插逼视频在线观看| 免费av不卡在线播放| 久久久久国产网址| 人体艺术视频欧美日本| 日日摸夜夜添夜夜添av毛片| 国产成人精品一,二区| 国产一区有黄有色的免费视频| 中文字幕人妻熟人妻熟丝袜美| av黄色大香蕉| 精品人妻一区二区三区麻豆| 在线观看一区二区三区激情| av线在线观看网站| 熟妇人妻不卡中文字幕| 另类精品久久| 精品人妻熟女av久视频| 51国产日韩欧美| 久久精品国产亚洲网站| 亚洲欧美清纯卡通| av国产久精品久网站免费入址| 欧美日韩国产mv在线观看视频| 一区二区三区免费毛片| 亚洲成人手机| 午夜老司机福利剧场| 在线免费观看不下载黄p国产| 99热全是精品| 一级黄片播放器| 亚洲国产精品一区二区三区在线| 久久精品国产自在天天线| 日产精品乱码卡一卡2卡三| 一本色道久久久久久精品综合| 国产成人精品福利久久| 99re6热这里在线精品视频| 黄色一级大片看看| 中文字幕人妻丝袜制服| 久久久久久久久久久久大奶| 久久99精品国语久久久| 26uuu在线亚洲综合色| 日韩制服骚丝袜av| 女人精品久久久久毛片| av一本久久久久| 国产成人a∨麻豆精品| 男人爽女人下面视频在线观看| 超碰97精品在线观看| 蜜桃久久精品国产亚洲av| 男女无遮挡免费网站观看| 精品一品国产午夜福利视频| 亚洲精品一二三| 日本黄色日本黄色录像| 国产在线免费精品| 国产av码专区亚洲av| 夜夜看夜夜爽夜夜摸| 亚洲av日韩在线播放| 国产黄色免费在线视频| 日本av免费视频播放| 日日撸夜夜添| 久久久精品94久久精品| 综合色丁香网| 女性被躁到高潮视频| 国产精品一二三区在线看| 亚洲精品乱码久久久v下载方式| 男人添女人高潮全过程视频| 亚洲欧美日韩东京热| 欧美精品一区二区大全| 亚洲精品日韩av片在线观看| 黑人高潮一二区| 精品少妇久久久久久888优播| 老司机影院成人| 亚洲国产欧美日韩在线播放 | 国产真实伦视频高清在线观看| 色吧在线观看| 一级毛片电影观看| 久久6这里有精品| 六月丁香七月| 国产精品久久久久久精品电影小说| 韩国av在线不卡| 欧美成人午夜免费资源| 成人综合一区亚洲| 人人妻人人爽人人添夜夜欢视频 | 成人国产av品久久久| 成人漫画全彩无遮挡| 91久久精品国产一区二区成人| 一本一本综合久久| 国产视频内射| 亚洲精品一区蜜桃| 亚洲三级黄色毛片| 久久久久久久久久成人| 亚洲电影在线观看av| 亚洲一区二区三区欧美精品| 国产一区二区在线观看日韩| 有码 亚洲区| 国产成人a∨麻豆精品| 少妇 在线观看| 高清在线视频一区二区三区| 日韩电影二区| 精品人妻熟女毛片av久久网站| 你懂的网址亚洲精品在线观看| 这个男人来自地球电影免费观看 | 美女中出高潮动态图| 黄色配什么色好看| 这个男人来自地球电影免费观看 | 国产精品人妻久久久久久| 亚洲在久久综合| 日本免费在线观看一区| 中文欧美无线码| 免费不卡的大黄色大毛片视频在线观看| 中国国产av一级| 久久 成人 亚洲| 熟女人妻精品中文字幕| 国产欧美日韩一区二区三区在线 | 黑人巨大精品欧美一区二区蜜桃 | av国产精品久久久久影院| 成人无遮挡网站| 国产视频内射| 久久国产精品男人的天堂亚洲 | 国产成人a∨麻豆精品| 少妇熟女欧美另类| 又黄又爽又刺激的免费视频.| 熟女av电影| 免费观看av网站的网址| 美女主播在线视频| 久久ye,这里只有精品| 啦啦啦中文免费视频观看日本| 亚洲国产精品成人久久小说| 国产乱人偷精品视频| 久久精品国产亚洲av涩爱| 色网站视频免费| 亚洲精品日韩在线中文字幕| 亚洲国产av新网站| 国产高清国产精品国产三级| 国语对白做爰xxxⅹ性视频网站| 久久人人爽人人片av| 国产在线一区二区三区精| 赤兔流量卡办理| 亚洲经典国产精华液单| 亚洲精品视频女| 亚州av有码| 久久国产亚洲av麻豆专区| 亚洲欧美一区二区三区国产| 精品亚洲乱码少妇综合久久| 国产毛片在线视频| 天堂中文最新版在线下载| 欧美日韩视频精品一区| 日韩av免费高清视频| 嫩草影院入口| 国产成人aa在线观看| 国产乱人偷精品视频| 欧美+日韩+精品| 欧美精品人与动牲交sv欧美| 国产一区二区在线观看av| 国产av国产精品国产| 国产美女午夜福利| 精品亚洲成a人片在线观看| 人妻一区二区av| 国产精品久久久久久久电影| 国产 一区精品| 一级a做视频免费观看| videossex国产| 国产无遮挡羞羞视频在线观看| 日韩电影二区| 国产精品一区二区在线观看99| 国产真实伦视频高清在线观看| √禁漫天堂资源中文www| 在线观看免费高清a一片| 国产 精品1| 97在线人人人人妻| 日韩,欧美,国产一区二区三区| 男的添女的下面高潮视频| 国产成人免费观看mmmm| 99九九线精品视频在线观看视频| 亚洲综合精品二区| 91精品国产九色| 国产伦精品一区二区三区四那| 九草在线视频观看| 成人毛片60女人毛片免费| 最黄视频免费看| 日本猛色少妇xxxxx猛交久久| 免费观看无遮挡的男女| 精品人妻熟女av久视频| 欧美 日韩 精品 国产| 97超碰精品成人国产| 精品熟女少妇av免费看| 日韩中字成人| 亚洲精品国产色婷婷电影| av国产久精品久网站免费入址| 国产精品久久久久久久久免| 国产午夜精品一二区理论片| 人妻夜夜爽99麻豆av| 日韩伦理黄色片| 有码 亚洲区| 午夜福利影视在线免费观看| 国产深夜福利视频在线观看| 久久久久久久久久成人| 欧美精品人与动牲交sv欧美| 高清av免费在线| 美女cb高潮喷水在线观看| 丁香六月天网| 欧美最新免费一区二区三区| 免费播放大片免费观看视频在线观看| 免费大片18禁| 大香蕉97超碰在线| 亚洲国产精品国产精品| 高清视频免费观看一区二区| 亚洲精品aⅴ在线观看| 精品国产一区二区久久| 成人漫画全彩无遮挡| 国产中年淑女户外野战色| 国产免费又黄又爽又色| .国产精品久久| 国产熟女午夜一区二区三区 | 亚洲欧洲精品一区二区精品久久久 | 色网站视频免费| 日韩伦理黄色片| 国精品久久久久久国模美| 国产精品国产三级国产专区5o| 一级爰片在线观看| 成人亚洲欧美一区二区av| 日韩中字成人| 久久影院123| 高清不卡的av网站| 亚洲色图综合在线观看| 性色av一级| 久久久精品免费免费高清| 欧美日韩一区二区视频在线观看视频在线| 人人妻人人澡人人看| 男人狂女人下面高潮的视频| 一级毛片 在线播放| 国产成人a∨麻豆精品| 欧美成人午夜免费资源| 国产在线视频一区二区| 国产午夜精品久久久久久一区二区三区| 亚洲国产精品一区三区| 久久久久国产精品人妻一区二区| 亚洲三级黄色毛片| 交换朋友夫妻互换小说| 国产亚洲欧美精品永久| 国语对白做爰xxxⅹ性视频网站| 熟妇人妻不卡中文字幕| 欧美最新免费一区二区三区| 国产欧美日韩综合在线一区二区 | av在线播放精品| 亚洲av综合色区一区| 97超碰精品成人国产| 亚洲精品视频女| 99九九线精品视频在线观看视频| 欧美丝袜亚洲另类| 伦理电影大哥的女人| 亚洲综合色惰| 一本久久精品| 国产免费又黄又爽又色| 永久网站在线| 伦理电影免费视频| 日本黄色片子视频| 一个人看视频在线观看www免费| 久久国产乱子免费精品| av天堂久久9| 丰满饥渴人妻一区二区三| 熟女av电影| 亚洲欧美精品专区久久| 嫩草影院新地址| 热re99久久精品国产66热6| 欧美激情极品国产一区二区三区 | 中文字幕亚洲精品专区| 国产在线视频一区二区| 最新中文字幕久久久久| 最后的刺客免费高清国语| av在线app专区| 在线看a的网站| 一边亲一边摸免费视频| 黄色视频在线播放观看不卡| 久久久欧美国产精品| 最新的欧美精品一区二区| 夫妻午夜视频| 久久久久网色| 久久这里有精品视频免费| freevideosex欧美| 亚洲精品久久午夜乱码| 少妇熟女欧美另类| 国产伦在线观看视频一区| 欧美精品一区二区免费开放| 国产高清有码在线观看视频| 精品亚洲成a人片在线观看| 我的老师免费观看完整版| 久久久精品94久久精品| 一级黄片播放器| 国产欧美亚洲国产| 黑人高潮一二区| 简卡轻食公司| 久久狼人影院| 日日啪夜夜撸| 日本av手机在线免费观看| 又爽又黄a免费视频| 欧美三级亚洲精品| 男女边吃奶边做爰视频| 国产69精品久久久久777片| 久久鲁丝午夜福利片| 国产欧美日韩综合在线一区二区 | 熟女人妻精品中文字幕| 欧美变态另类bdsm刘玥| 69精品国产乱码久久久| 嫩草影院入口| 国产成人精品一,二区| 亚洲真实伦在线观看| 免费观看无遮挡的男女| 精品亚洲乱码少妇综合久久| 亚洲av二区三区四区| 国产精品人妻久久久影院| 精品人妻熟女av久视频| 亚洲性久久影院| 在线观看av片永久免费下载| 啦啦啦中文免费视频观看日本| av线在线观看网站| 男人舔奶头视频| 在线观看免费高清a一片| 久久精品熟女亚洲av麻豆精品| 亚洲精品,欧美精品| 久久精品久久精品一区二区三区| 啦啦啦啦在线视频资源| 亚洲欧美日韩东京热| 一本—道久久a久久精品蜜桃钙片| 三级国产精品片| 内射极品少妇av片p| 精品一区二区免费观看| a 毛片基地| 99国产精品免费福利视频| 日韩大片免费观看网站| 妹子高潮喷水视频| 你懂的网址亚洲精品在线观看| 伦理电影免费视频| 久久精品国产a三级三级三级| 日韩av不卡免费在线播放| 成人影院久久| 青春草国产在线视频| 精品少妇黑人巨大在线播放| 日本wwww免费看| 麻豆成人午夜福利视频| 日本黄色日本黄色录像| av又黄又爽大尺度在线免费看| 久久精品久久久久久久性| 夫妻性生交免费视频一级片| 欧美少妇被猛烈插入视频| 美女视频免费永久观看网站| 国产精品一区二区性色av| 在线观看美女被高潮喷水网站| 精品亚洲成国产av| av播播在线观看一区| 精品久久久精品久久久| 熟女av电影| 亚洲av.av天堂| 在线免费观看不下载黄p国产| 尾随美女入室| 一本色道久久久久久精品综合| 人妻系列 视频| 黄色一级大片看看| 午夜激情久久久久久久| 嘟嘟电影网在线观看| 99视频精品全部免费 在线| 91久久精品国产一区二区三区| 亚洲av综合色区一区| 免费观看在线日韩| 99九九线精品视频在线观看视频| 极品少妇高潮喷水抽搐| 只有这里有精品99| 人人妻人人添人人爽欧美一区卜| 在线观看人妻少妇| 在线观看免费日韩欧美大片 | 男男h啪啪无遮挡| 精品一品国产午夜福利视频| 99久久精品热视频| 在线免费观看不下载黄p国产| 国产av精品麻豆| 久久久久久久精品精品| 国产精品国产av在线观看| 色吧在线观看| 色视频www国产| 三级国产精品欧美在线观看| 久久青草综合色| 夜夜爽夜夜爽视频| 99热国产这里只有精品6| 乱系列少妇在线播放| 久久久国产精品麻豆| 精品久久久久久久久av| 中文字幕免费在线视频6| 男女免费视频国产| 校园人妻丝袜中文字幕| 夜夜爽夜夜爽视频| 日韩不卡一区二区三区视频在线| 亚洲欧美日韩另类电影网站| 午夜福利在线观看免费完整高清在| 亚洲欧美日韩卡通动漫| 日韩视频在线欧美| 一区二区av电影网| 久久精品久久久久久久性| 精品酒店卫生间| 国产日韩一区二区三区精品不卡 | 男人和女人高潮做爰伦理| 性高湖久久久久久久久免费观看| 亚洲欧洲日产国产| 国产91av在线免费观看| 亚洲真实伦在线观看| 国内精品宾馆在线| 五月开心婷婷网| 又粗又硬又长又爽又黄的视频| 中文字幕制服av| 亚洲精品亚洲一区二区| 99久久精品国产国产毛片| av有码第一页| 有码 亚洲区| 观看免费一级毛片| av福利片在线| 国产精品国产三级国产专区5o| 全区人妻精品视频| 久久国产亚洲av麻豆专区| 亚洲性久久影院| 午夜久久久在线观看| 极品少妇高潮喷水抽搐| 日本色播在线视频| 日韩一区二区三区影片| 伊人亚洲综合成人网| av国产久精品久网站免费入址| 高清视频免费观看一区二区| 免费大片黄手机在线观看| 曰老女人黄片| 高清午夜精品一区二区三区| 综合色丁香网| 国产精品国产av在线观看| 爱豆传媒免费全集在线观看| 纯流量卡能插随身wifi吗| 日韩av在线免费看完整版不卡| 日韩免费高清中文字幕av| 欧美日本中文国产一区发布| 国产日韩一区二区三区精品不卡 | 亚洲欧美中文字幕日韩二区| 黑丝袜美女国产一区| 毛片一级片免费看久久久久| 少妇被粗大的猛进出69影院 | 蜜桃久久精品国产亚洲av| 街头女战士在线观看网站| 亚洲人与动物交配视频| 久久99一区二区三区| 婷婷色综合www| 女性生殖器流出的白浆| 日韩成人av中文字幕在线观看| 免费人成在线观看视频色| 精品久久久久久电影网| 久久久久久久大尺度免费视频| 亚洲欧美精品专区久久| 亚洲欧美一区二区三区国产| 亚洲欧美精品自产自拍| 男男h啪啪无遮挡| 国产成人freesex在线| 国产精品一区二区在线不卡| 午夜影院在线不卡| 菩萨蛮人人尽说江南好唐韦庄| 欧美成人精品欧美一级黄| 汤姆久久久久久久影院中文字幕| 一本一本综合久久| 在线天堂最新版资源| 久久韩国三级中文字幕| 欧美 日韩 精品 国产| 免费人妻精品一区二区三区视频| 老司机影院成人| 大话2 男鬼变身卡| 久久国内精品自在自线图片| 久久国产精品大桥未久av | 日本黄色日本黄色录像| 一级毛片电影观看| 中文字幕久久专区| 七月丁香在线播放| 中文在线观看免费www的网站| 亚洲av成人精品一二三区| 嘟嘟电影网在线观看| 午夜av观看不卡| 久久精品夜色国产| 亚洲电影在线观看av| 嫩草影院入口| 成年人免费黄色播放视频 | 国产爽快片一区二区三区| 免费观看a级毛片全部| 国产一级毛片在线| 国产亚洲5aaaaa淫片| 欧美精品亚洲一区二区| 午夜福利在线观看免费完整高清在| 亚洲综合精品二区| 熟女电影av网| 亚洲国产最新在线播放| 国产精品一区二区在线观看99| 91精品国产国语对白视频| 三级经典国产精品| 91在线精品国自产拍蜜月| 国产成人freesex在线| 国产高清有码在线观看视频| 看免费成人av毛片| 亚洲精品久久午夜乱码| 一个人看视频在线观看www免费| 青青草视频在线视频观看| 99re6热这里在线精品视频| 美女xxoo啪啪120秒动态图| 亚洲国产精品999| 中国国产av一级| 亚洲久久久国产精品| 国产精品欧美亚洲77777| 亚洲丝袜综合中文字幕| a级毛片免费高清观看在线播放| 国产伦精品一区二区三区四那| 多毛熟女@视频| kizo精华| 人人澡人人妻人| 亚洲在久久综合| 免费观看无遮挡的男女| 亚洲中文av在线| 亚洲高清免费不卡视频| h日本视频在线播放| av国产久精品久网站免费入址| 夫妻性生交免费视频一级片| 一级毛片我不卡| 人体艺术视频欧美日本| 免费观看的影片在线观看| 欧美日韩一区二区视频在线观看视频在线| 性色avwww在线观看| 一级毛片黄色毛片免费观看视频| 亚洲欧美清纯卡通| av.在线天堂| 在线 av 中文字幕| 伊人亚洲综合成人网| 国产成人aa在线观看| 亚洲激情五月婷婷啪啪| 少妇 在线观看| 久久99蜜桃精品久久| 国产精品久久久久久久久免| 最黄视频免费看| av线在线观看网站| 亚洲精品色激情综合| 日韩视频在线欧美| 午夜久久久在线观看| 亚洲欧美成人精品一区二区| 一级毛片久久久久久久久女| 色5月婷婷丁香| 国产成人免费无遮挡视频| 久久女婷五月综合色啪小说| 午夜福利影视在线免费观看| 国产成人精品久久久久久| 黄色视频在线播放观看不卡| 国产亚洲5aaaaa淫片| 免费看日本二区| 色婷婷av一区二区三区视频| 亚洲av成人精品一区久久| 2018国产大陆天天弄谢| 午夜免费男女啪啪视频观看| 少妇裸体淫交视频免费看高清| 国产白丝娇喘喷水9色精品| 久久午夜福利片| 亚洲av欧美aⅴ国产| 啦啦啦啦在线视频资源| 久久国产乱子免费精品| 免费黄网站久久成人精品| 国产精品国产三级国产av玫瑰| 午夜激情福利司机影院| 91aial.com中文字幕在线观看| 中文字幕亚洲精品专区| 99久久精品热视频| 免费少妇av软件| 国产亚洲最大av| 成年人免费黄色播放视频 | 国产日韩欧美亚洲二区| 啦啦啦在线观看免费高清www| 蜜桃在线观看..| 9色porny在线观看| 岛国毛片在线播放| 一区二区三区乱码不卡18| 精品熟女少妇av免费看| 大香蕉97超碰在线| 永久免费av网站大全| 韩国av在线不卡| 欧美精品一区二区免费开放| 国产深夜福利视频在线观看| 黑人高潮一二区| 国产又色又爽无遮挡免| 一二三四中文在线观看免费高清|