Linux信號量(2)-POSIX 信號量

一口Linux 2020-10-15 00:00



上一章,講述了SYSTEM V信號量,主要運行于進程之間,本章主要介紹POSIX信號量:有名信號量、無名信號量。

POSIX信號量

POSIX信號量進程是3種 IPC(Inter-Process Communication) 機制之一,3種 IPC 機制源于 POSIX.1 的實時擴展。Single UNIX Specification 將3種機制(消息隊列,信號量和共享存儲)置于可選部分中。在 SUSv4 之前,POSIX 信號量接口已經被包含在信號量選項中。在 SUSv4 中,這些接口被移至了基本規(guī)范,而消息隊列和共享存儲接口依然是可選的。

POSIX 信號量接口意在解決 XSI 信號量接口的幾個缺陷。

  1. 相比于 XSI 接口,POSIX 信號量接口考慮了更高性能的實現。

  2. POSIX 信號量使用更簡單:沒有信號量集,在熟悉的文件系統(tǒng)操作后一些接口被模式化了。盡管沒有要求一定要在文件系統(tǒng)中實現,但是一些系統(tǒng)的確是這么實現的。

  3. POSIX 信號量在刪除時表現更完美。回憶一下,當一個 XSI 信號量被刪除時,使用這個信號量標識符的操作會失敗,并將 errno 設置成 EIDRM。使用 POSIX 信號量時,操作能繼續(xù)正常工作直到該信號量的最后一次引用被釋放。

分類

POSIX信號量是一個sem_t類型的變量,但POSIX有兩種信號量的實現機制:無名信號量和命名信號量。無名信號量只可以在共享內存的情況下,比如實現進程中各個線程之間的互斥和同步,因此無名信號量也被稱作基于內存的信號量;命名信號量通常用于不共享內存的情況下,比如進程間通信。

同時,在創(chuàng)建信號量時,根據信號量取值的不同,POSIX信號量還可以分為:

  • 二值信號量:信號量的值只有0和1,這和互斥量很類似,若資源被鎖住,信號量的值為0,若資源可用,則信號量的值為1;

  • 計數信號量:信號量的值在0到一個大于1的限制值之間,該計數表示可用的資源的個數。

區(qū)別

有名信號量和無名信號量的差異在于創(chuàng)建和銷毀的形式上,但是其他工作一樣。

無名信號量只能存在于內存中,要求使用信號量的進程必須能訪問信號量所在的這一塊內存,所以無名信號量只能應用在同一進程內的線程之間(共享進程的內存),或者不同進程中已經映射相同內存內容到它們的地址空間中的線程(即信號量所在內存被通信的進程共享)。意思是說無名信號量只能通過共享內存訪問。

相反,有名信號量可以通過名字訪問,因此可以被任何知道它們名字的進程中的線程使用。

單個進程中使用 POSIX 信號量時,無名信號量更簡單。多個進程間使用 POSIX 信號量時,有名信號量更簡單。

聯(lián)系

無論是有名信號量還是無名信號量,都可以通過以下函數進行信號量值操作。

wait(P)

wait 為信號量值減一操作,總共有三個函數,函數原型如下:

#include <semaphore.h>

int sem_wait(sem_t *sem);

int sem_trywait(sem_t *sem);

int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout);

Link with -pthread.這一句表示 gcc 編譯時,要加 -pthread.

返回值:
    若成功,返回 0 ;若出錯,返回-1
  • sem_wait的作用是,若 sem 小于 0 ,則線程阻塞于信號量 sem ,直到 sem 大于 0 ;否則信號量值減1。

  • sem_trywait作用與sem_wait相同,只是此函數不阻塞線程,如果 sem 小于 0,直接返回一個錯誤(錯誤設置為 EAGAIN )。

  • sem_timedwait作用也與sem_wait相同,第二個參數表示阻塞時間,如果 sem 小于 0 ,則會阻塞,參數指定阻塞時間長度。abs_timeout 指向一個結構體,這個結構體由從 1970-01-01 00:00:00 +0000 (UTC) 開始的秒數和納秒數構成。

結構體定義如下:

struct timespec {
    time_t tv_sec;      /* Seconds */
    long   tv_nsec;     /* Nanoseconds [0 .. 999999999] */
}; 

如果指定的阻塞時間到了,但是 sem 仍然小于 0 ,則會返回一個錯誤 (錯誤設置為 ETIMEDOUT )。

post(V)

post 為信號量值加一操作,函數原型如下:

#include <semaphore.h>
int sem_post(sem_t *sem);
Link with -pthread.
返回值:
   若成功,返回 0 ;若出錯,返回-1

無名信號量

接口函數

信號量的函數都以sem_開頭,線程中使用的基本信號函數有4個,他們都聲明在頭文件semaphore.h中,該頭文件定義了用于信號量操作的sem_t類型:

sem_init

該函數用于創(chuàng)建信號量,原型如下:

int sem_init(sem_t *sem, int pshared, unsigned int value);

功能:該函數初始化由sem指向的信號對象,設置它的共享選項,并給它一個初始的整數值。pshared控制信號量的類型,如果其值為0,就表示信號量是當前進程的局部信號量,否則信號量就可以在多個進程間共享,value為sem的初始值。返回值:該函數調用成功返回0,失敗返回-1。

sem_destroy

該函數用于對用完的信號量進行清理,其原型如下:

int sem_destroy(sem_t *sem);

返回值:

成功返回0,失敗返回-1。

sem_getvalue函數

該函數返回當前信號量的值,通過restrict輸出參數返回。如果當前信號量已經上鎖(即同步對象不可用),那么返回值為0,或為負數,其絕對值就是等待該信號量解鎖的線程數。

int sem_getvalue(sem_t *restrictint *restrict);

使用實例

【實例1】:

#include <time.h>

#include <stdio.h>

#include <errno.h>

#include <unistd.h>

#include <stdlib.h>

#include <assert.h>

#include <signal.h>

#include <semaphore.h>

sem_t sem;

#define handle_error(msg)   do { \
                                perror(msg); \
                                exit(EXIT_FAILURE); \
                            }while (0)

static void handler(int sig){
write(STDOUT_FILENO, "sem_post() from handler\n"24);
if(sem_post(&sem) == -1)
{
    write(STDERR_FILENO, "sem_post() failed\n"18);
    _exit(EXIT_FAILURE);
}}
int main(int argc, char *argv[]){
    int s;
    struct timespec ts;
    struct sigaction sa;

    if (argc != 3)
    {
     fprintf(stderr"Usage: %s <alarm-secs> <wait-secs>\n", argv[0]);
    exit(EXIT_FAILURE);
   }
    
    if (sem_init(&sem, 00) == -1)
        handle_error("sem_init");
    
    /* Establish SIGALRM handler; set alarm timer using argv[1] */
    sa.sa_handler = handler;
    sigemptyset(&sa.sa_mask);
    sa.sa_flags = 0;
    if (sigaction(SIGALRM, &sa, NULL) == -1)
        handle_error("sigaction");
    
    alarm(atoi(argv[1]));
    
    /* Calculate relative interval as current time plus
      number of seconds given argv[2] */

    
    if (clock_gettime(CLOCK_REALTIME, &ts) == -1)
        handle_error("clock_gettime");
    
    ts.tv_sec += atoi(argv[2]);
    
    printf("main() about to call sem_timedwait()\n");
    while ((s = sem_timedwait(&sem, &ts)) == -1 && errno == EINTR)
        continue;       /* Restart if interrupted by handler */
    
    /* Check what happened */
    if (s == -1)
    {
        if (errno == ETIMEDOUT)
            printf("sem_timedwait() timed out\n");
        else
            perror("sem_timedwait");
    }
    else
    {
        printf("sem_timedwait() succeeded\n");
    }
    
    exit((s == 0) ? EXIT_SUCCESS : EXIT_FAILURE);

}

【實例2】:

#include <time.h>

#include <stdio.h>

#include <errno.h>

#include <unistd.h>

#include <stdlib.h>

#include <assert.h>

#include <signal.h>

#include <semaphore.h>

sem_t sem;
void *func1(void *arg){
    sem_wait(&sem);
    int *running = (int *)arg;
    printf("thread func1 running : %d\n", *running);
    
    pthread_exit(NULL);
}
void *func2(void *arg)
{
    printf("thread func2 running.\n");
    sem_post(&sem);
    
    pthread_exit(NULL);
}
int main(void)
{
    int a = 3;
    sem_init(&sem, 00);
    pthread_t thread_id[2];
    
    pthread_create(&thread_id[0], NULL, func1, (void *)&a);
    printf("main thread running.\n");
    sleep(10);
    pthread_create(&thread_id[1], NULL, func2, (void *)&a);
    printf("main thread still running.\n");
    pthread_join(thread_id[0], NULL);
    pthread_join(thread_id[1], NULL);
    sem_destroy(&sem);
    
    return 0;
}

有名信號量

有時候也叫命名信號量,之所以稱為命名信號量,是因為它有一個名字、一個用戶ID、一個組ID和權限。這些是提供給不共享內存的那些進程使用命名信號量的接口。命名信號量的名字是一個遵守路徑名構造規(guī)則的字符串。

接口函數

sem_open函數

該函數用于創(chuàng)建或打開一個命名信號量,其原型如下:

sem_t *sem_open(const char *name, int oflag);
sem_t *sem_open(const char *name, int oflag,mode_t mode, unsigned int value);

參數

  • name是一個標識信號量的字符串。

  • oflag用來確定是創(chuàng)建信號量還是連接已有的信號量。oflag的參數可以為0,O_CREAT或O_EXCL:如果為0,表示打開一個已存在的信號量;如果為O_CREAT,表示如果信號量不存在就創(chuàng)建一個信號量,如果存在則打開被返回,此時mode和value都需要指定;如果為O_CREAT|O_EXCL,表示如果信號量存在則返回錯誤。

  • mode 用于創(chuàng)建信號量時指定信號量的權限位,和open函數一樣,包括:S_IRUSR、S_IWUSR、S_IRGRP、S_IWGRP、S_IROTH、S_IWOTH。

  • value 表示創(chuàng)建信號量時,信號量的初始值。

sem_close函數

該函數用于關閉命名信號量:

int sem_close(sem_t *);

功能:單個程序可以用sem_close函數關閉命名信號量,但是這樣做并不能將信號量從系統(tǒng)中刪除,因為命名信號量在單個程序執(zhí)行之外是具有持久性的。當進程調用_exit、exit、exec或從main返回時,進程打開的命名信號量同樣會被關閉。

sem_unlink函數功能:sem_unlink函數用于在所有進程關閉了命名信號量之后,將信號量從系統(tǒng)中刪除:

int sem_unlink(const char *name);

信號量操作函數與無名信號量一樣。

使用實例

#include <time.h>
#include <stdio.h>
#include <errno.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <assert.h>
#include <signal.h>
#include <semaphore.h>
#define SEM_NAME " /sem_name"
sem_t *p_sem;
void *testThread(void *ptr){
    sem_wait(p_sem);
    sleep(2);
    pthread_exit(NULL);}
    int main(void){
    int i = 0;
    pthread_t pid;
    int sem_val = 0;
    p_sem = sem_open(SEM_NAME, O_CREAT, 05555);
    
    if(p_sem == NULL)
    {
        printf("sem_open %s failed!\n", SEM_NAME);
        sem_unlink(SEM_NAME);
        return -1;
    }
    
    for(i = 0; i < 7; i++)
    {
        pthread_create(&pid, NULL, testThread, NULL);
        sleep(1);
        // pthread_join(pid, NULL);  // not needed, or loop
        sem_getvalue(p_sem, &sem_val);
        printf("semaphore value : %d\n", sem_val);
    }
    
    sem_close(p_sem);
    sem_unlink(SEM_NAME);
    
    return 0;
}

命名和無名信號量的持續(xù)性

命名信號量是隨內核持續(xù)的。當命名信號量創(chuàng)建后,即使當前沒有進程打開某個信號量,它的值依然保持,直到內核重新自舉或調用sem_unlink()刪除該信號量。

無名信號量的持續(xù)性要根據信號量在內存中的位置確定:

如果無名信號量是在單個進程內部的數據空間中,即信號量只能在進程內部的各個線程間共享,那么信號量是隨進程的持續(xù)性,當進程終止時他也就消失了;

如果無名信號量位于不同進程的共享內存區(qū),因此只要該共享內存區(qū)仍然存在,該信號量就會一直存在;所以此時無名信號量是隨內核的持續(xù)性。

信號量-互斥量-條件變量

很多時候信號量、互斥量和條件變量都可以在某種應用中使用,那這三者的差異有哪些呢?下面列出了這三者之間的差異:

  • 互斥量必須由給它上鎖的線程解鎖;而信號量不需要由等待它的線程進行掛出,可以在其他進程進行掛出操作;

  • 互斥量要么被鎖住,要么被解開,只有這兩種狀態(tài);而信號量的值可以支持多個進程/線程成功的進行wait操作;

  • 信號量的掛出操作總是被記住,因為信號量有一個計數值,掛出操作總會將該計數值加1,然而當條件變量發(fā)送一個信號時,如果沒有線程等待在條件變量,那么該信號就會丟失。




 



推薦閱讀


【1】 從0實現基于Linux socket聊天室-多線程服務器模型-1    必讀
【2】 從0實現基于Linux socket聊天室-多線程服務器一個很隱晦的錯誤-2  【必讀
【3】 從0實現基于Linux socket聊天室-實現聊天室的登錄、注冊功能-3 必讀
【4】 從0實現基于Linux socket聊天室-增加公聊、私聊-4    必讀
【5】 100ASK_IMX6ULL arm板子如何顯示圖片、漢字、劃線、背景色
【6】嵌入式數據庫sqlite3【進階篇】-子句和函數的使用,小白一文入門
【7】 如何用C語言操作sqlite3,一文搞懂
【8】 手把手教Linux驅動8-Linux IO模型
【9】 C語言中的短路現象
【10】 C語言操作時間函數,實現定時執(zhí)行某個任務小程序

南京藝術學院

一口Linux 寫點代碼,寫點人生!
評論
  • 報警語音在工業(yè)設備里的難題做工業(yè)設備的工程師多半遇到過這種事。設備上要播的語音條數越來越多,正常開機提示、運行狀態(tài)播報、故障報警、維護提醒、安全警告,加起來幾十條甚至上百條。一開始用小容量 OTP 芯片還能應付,條數一多就不夠用了。換大容量芯片,成本又上去了。更大的麻煩在報警優(yōu)先級上。工業(yè)設備運行時,語音芯片可能正在播放一段正常運行狀態(tài)提示,比如"設備運行中,請勿靠近"。這時候突然檢測到故障,需要立刻插播一條緊急報警語音"溫度過高,請立即停機檢查"。傳統(tǒng)語音芯片做不到這件事。它要么得先發(fā)停止命令
    唯創(chuàng)知音語音芯片 2026-08-12 17:50 231瀏覽
  • 我在唯創(chuàng)知音做門鎖語音方案這幾年,常被廠商問到一個看似簡單的問題,門鎖里的語音到底要做什么。門鎖語音在門鎖里早就不是加個喇叭那么回事。它要管門鈴、提示音、貓眼對講、藍牙配網播報、離線喊一聲開門,還有大屏上的菜單動效。這些功能分散在前板、后板、貓眼和 APP 四個部位,芯片怎么選,各部位完全不一樣。最基礎的一塊是門鈴和固定提示音。很多走量機型到現在還是一顆小容量語音芯片扛著,像 WTN 系列里的 WTN6006、WTN6020,Flash 從 低時長到高時長都有不同的芯片,協(xié)議相同可以無縫切換。它
    唯創(chuàng)知音語音芯片 2026-08-12 17:34 195瀏覽
  • 8月8日,國聯(lián)民生證券發(fā)布了一則公告,內容表明公司董事會收到了非執(zhí)行董事楊振興提交的辭職報告,其因個人原因辭去公司非執(zhí)行董事這一職務。而且在辭職之后,楊振興將不再擔任國聯(lián)民生證券以及其控股子公司的任何職務。僅僅兩天之后,公司第六屆董事會第7次會議召開,這次會議一口氣通過了多項議案,包括審議通過《國聯(lián)民生證券股份有限公司“十五五”發(fā)展規(guī)劃(2026-2030)》、1億至2億元A股回購方案以及為子公司民生證券提供不超過40億元的動態(tài)凈資本擔保承諾等等。同時,為優(yōu)化資源配置,公司還擬減少民生證券注冊資
    用戶1782919753097 2026-08-13 00:00 229瀏覽
  • 100 字導語現場防爆航插頻繁出現插拔卡頓、沙沙異響、對位卡死等問題,大多不是產品質量問題,而是粉塵進腔、觸點氧化、防呆鍵位磨損導致。本文結合 3 針 3 孔、4 芯、5PIN、8 芯圓形防爆連接器運行特性,梳理異響卡頓故障根源,制定標準化清潔修復流程,保障防爆航空插頭對接順暢、密封到位。關鍵詞:圓形防爆連接器,防爆航空插頭,防爆端子接頭,防爆接插件,插拔卡頓,IP67,5PIN,8 芯,防爆傳感器航插接頭1 產品概述圓形防爆連接器公母頭依靠精密鍵位、冠簧插孔、密封面精準配合實現對接。現場粉塵堆
    kyfbest科迎法電氣 2026-08-12 11:43 243瀏覽
  • 導語:進入8月,全球LCD TV面板采購需求受年底大促備貨、以價換量策略雙重拉動呈現邊際回暖,但修復力度整體有限。由于頭部面板廠持續(xù)維持高稼動生產,行業(yè)供需格局仍處寬松區(qū)間,面板價格整體延續(xù)小幅回落態(tài)勢,尺寸結構性分化特征持續(xù)顯現。CINNO Research 簡評今年8月,全球 LCD TV面板市場呈現需求弱修復、供給高位運行的特征,整體價格延續(xù)下行且結構性分化顯著。需求端受年底大促備貨、以價換量策略拉動邊際回暖,但修復力度有限且建立在以價換量的基礎上;供給端高世代線稼動率維持85%以上,供需
    CINNOResearch 2026-08-12 11:00 151瀏覽
  • 隨著AI算力需求的爆發(fā)式增長,400G、800G乃至1.6T高速光模塊正加速走向商用部署。在這場速率競賽的背后,一個不容忽視的挑戰(zhàn)正浮出水面——硅光模塊對溫度的“敏感體質” ,正在成為可靠性驗證領域的新課題。一、為什么硅光模塊如此“怕熱怕冷”?傳統(tǒng)光模塊主要采用III-V族化合物半導體材料(如InP、GaAs),而硅光模塊則以硅基材料為核心,借助CMOS兼容工藝實現光電器件的單片集成。這種技術路線帶來了成本低、集成度高、功耗小的優(yōu)勢,但也埋下了溫度敏感性的隱患。根源在于材料的熱膨脹系數
    用戶1774416745629 2026-08-13 09:40 232瀏覽
  • 100 字導語廠區(qū)停機檢修、設備長期靜置存放,防爆航插易受潮、積塵、膠圈老化、觸點氧化。本文針對停機復工場景,制定 3 針 3 孔、5PIN、8 芯圓形防爆連接器全套檢測保養(yǎng)流程,明確絕緣、導通、密封、屏蔽復工核驗標準,避免復工跳閘、信號異常。關鍵詞:圓形防爆連接器,復工檢測,防爆航空插頭,防爆法蘭插座,防爆接插件,IP67, 靜置保養(yǎng),5PIN,8 芯1 產品概述設備長期停機靜置,防爆連接器腔體密閉不通風,極易積聚潮氣、凝結水汽;密封件長期靜態(tài)受壓出現永久形變;鍍金觸點鈍化氧化。直接通電復工極
    kyfbest科迎法電氣 2026-08-12 13:32 290瀏覽
  • 導語:根據CINNO ? ePaper Insight數據,2026年上半年,全球電子紙終端總銷量約2.9億臺(枚),同比增長25%。其中,電子紙價簽終端銷量2.8億枚,同比增長27%,繼續(xù)成為產業(yè)增長的核心動力;電子紙平板銷量610萬臺,同比下降超過16%,較2025年上半年730萬臺有所回落。細分市場看,閱讀器銷量480萬臺,辦公本銷量130萬臺。整體來看,電子紙應用結構進一步向智慧零售集中,價簽高景氣與平板階段性調整形成明顯分化。全球終端銷量同比增長25%,價簽貢獻主要增量CINNO ?
    CINNOResearch 2026-08-12 11:05 235瀏覽
  • 100 字導語工業(yè)防爆鎧裝線纜硬度高、結構特殊,普通圓形防爆連接器密封結構難以適配,極易出現夾不緊、滲水、線纜滑脫問題。本文針對鎧裝線纜特性,匹配 4 芯、5PIN、8 芯防爆法蘭插座安裝工藝,明確鎧裝固定、密封壓緊、應力釋放全套施工標準。關鍵詞:圓形防爆連接器,鎧裝線纜,防爆法蘭插座,防爆防水連接器,IP67,8 芯,防爆電源接頭,防爆接插件1 產品概述鎧裝線纜自帶金屬保護層,硬度大、不可隨意彎折,常規(guī)塑料密封套無法有效抱緊。很多現場直接使用普通格蘭密封鎧裝線,導致尾部密封失效、鎧裝層懸空松動
    kyfbest科迎法電氣 2026-08-12 12:48 269瀏覽
  • 一只光模塊在出廠前,要在-40℃的極寒、25℃的常溫、85℃的高溫之間反復“渡劫”。稍有不慎,輕則參數漂移,重則整批報廢——這就是三溫測試,高速光模塊量產前的最后一道生死線。引言:AI越熱,測試越難AI數據中心的爆發(fā)式增長,讓400G、800G甚至1.6T光模塊的需求如火箭般躥升。但鮮為人知的是:光模塊速率每翻一番,測試時間卻不降反升。一組殘酷的數據對比:速率單只模塊測試耗時測試設備帶寬要求400G約15-20分鐘50GHz800G約20-30分鐘50GHz1.6T約40-60分鐘≥65GHz設
    用戶1774416745629 2026-08-12 13:36 292瀏覽
我要評論
0
點擊右上角,分享到朋友圈 我知道啦
請使用瀏覽器分享功能 我知道啦
主站蜘蛛池模板: 超级接班人| 戈壁母亲电视剧| 扫黑风暴12集| 一招辨别是否怀孕| 莫妮卡版《爱我几何》| 巨人最终季PART3在线观看 | 丽江小倩的歌| 大冶风云网| 贡嘎县| 三大队电影免费抢先观看| 水暖工韩国伦理电影| 中国式离婚 电视剧| 恶女阿楚| 我的性肉欲继拇中文3| 领家特工| sao66| 印度老电影60部| 乒乓球混合双打决赛直播 | 电视剧错点鸳鸯| 木下檀檀电影免费完整版 | 《野花》电影| 女男变错身百度影音| 超级飞侠动画片全集免费体验| 电视剧温柔的背后在线观看 | 烽火儿女情百度影音| 朴亚珍《蓝帽子》原版| 美丽姑娘免费观看高清| 二十一世纪性格爱情指南英国| 爱情公寓剧照| 老严有女不愁嫁片尾曲| 韩国好电影善良的女大学生| 008电影网| 在线免费观看最新电影| 普陀区| 超级经纪人在线观看| 海之声如如免费完整版动漫| 施公奇案2电视剧| 此时此刻台剧| 《爱我几何》原版| 他母亲的房子| 灯草和| 电影中国机长在线观看| 意大利电影《忠贞》2| 义姐不是良妈动漫在线观看| 狙击蝴蝶电视剧免费观看完整版 | 飞机上的性服务| 洛阳影视| 阁楼里的外星人| 哇嘎视频| 插翅难飞电影| 爸爸给我播种子免费观看 | 古墓丽影法国版在线播放| 新还珠格格的所有歌曲| 加米亚尼伯爵夫人满天星| 天龙八部40| 空调维修员伦理片| 七品芝麻官电影完整版| 摔跤在线| 我的青梅竹马是消防员 第一季 | 《公的浮之手中字》| 长安三万里在线播放免费| 莫妮卡主演电影| 不归路在线完整版观看| 白狐电影在线观看| 插曲的痛60全集免费观看高清版在线观| 张柏芝说话大声是因为耳弱| 巜人妻初次按摩2视频| 广州大学城攻略| 再回首简谱| 卖房子的女销售3韩国| 跑男第七季| 1995年版《激战丛林》在线| 漂亮路人每天都被主角看上| 50部韩剧普通话国语版| 女角斗士1满天星版在线观看| 加勒比女海盗成版人2在线| 乳房影院| 鸭王2粤语港剧免费投屏观看| 仁者黄飞鸿国语| 宜黄县| 还珠格格艳谭版| 酒店1-50集| 电视剧四合院情满四合院| 邝美云大悲咒歌词| 人世间58集全集免费看| 女生按摩胸部电影免费观看 | 好朋友的男朋友| 沉香如屑免费完整观看电视剧 | 玉蒲团2玉女心经| 爆裂飞车22017| 回家诱惑| 被义子侵犯的继拇电影| 高清《飞驰人生2》在线观看地址| 韩剧我的双胞胎女友| 曲周县委书记| 无敌秘书全集在线观看 | 再见18班在线观看免费版| 无憾在线观看坎贝奇| 安徽公共频道直播| 爱人韩剧免费观看电视剧| 丰满的临时工HD| 祥娃娃一家子| 仓井空电影| 和老师在她家啪| 《新人律师法国满天星》还叫什么名| 于和伟最新剧《城中之城》| 追球在线观看| 斯巴达第四季10| 娱乐百分百20100401| 假面骑士blade| 女人的战争2新婚快乐| 美人 电影| 杨思敏国语版最经典的一句 | 新聊斋志异之小倩| 黄家驹告别演唱会| 魔都传奇| 乡情电影| 男人女人一起相愁愁愁电视剧在线观| 紫川动漫第二季| 三年成全免费高清在线观看国语| 沧元图第一季免费全集在线观看| 斯托娅电影| 大耳朵图图3部全集| 周处除三害在线观看| 爷爷为我打月饼简谱| 绝世红颜| 美国版娃娃脸4| 使徒行者23| 电影《千金与仆人》免费| 密爱:我朋友的妈妈2 电影| 夫妻相隔5小时先后坠楼身亡| 韩版泡沫之夏| 心理罪 电影| 爱在空气中第9集| 和尚扒开双腿蹂躏h| 法国空乘2017完整版| 家国两难全| 伦理《法国护士长》2006免费在线观看| 年轻的妈妈4在线| 春风沉醉的夜晚| 生化危机4战神再生电影| 梦想三国1-50集免费看| 法国满天星《古墓丽影》| 四少妇推油在线| 快递员的美味2中字在线观看| 肉食日未删减| 女超人电影2013完整版| 朋友的妈妈1| 茉莉特别酒店3| 灵珊baby| 女警察坠落2| 窥情在线观看| 销售的销售秘密2HD| 水月洞天第三部幽冥传奇| 胭脂雪剧情介绍| 无极2英雄崛起| 平凡的世界 电视剧| 巡回检察组电视剧全集在线观看| 民间怪谈录| 《爸爸种子2》在线观看| 女烈受刑| 《激战丛林》完整版免费观看星辰影院| 一路向西全集观看| 《女超人麦乐迪》电影免费播放| 龙腾四海国语| 禁忌女孩第三季免费观看| 麦克斯的魔法世界| 一代枭雄胡前宽是谁| 并木优种子| 八佰在线观看完整版免费 | 关于未知的我们| 《信誉守则》满天星版| 芭比之神秘之门普通话免费观看| 高清招魂4:终章未删减| 逆光飞翔 电影| 《法国空乘10》完整| 先生你哪位| 替夫还债3季免费观看| 你微笑时很美全集| 蒋玲玲| 亮剑3gp下载| G点1985无删减免费看| 女人与公狼配| 八戒八戒手机电影院免费完整观看| 纯真时代几分做了| 你和我的倾城时光歌曲| 白日梦我电视剧在线观看免费版| 赌神秘笈之赌魔| 爱情保卫战 海霞姐| 美女死尸| 青春禁区免费完整版观看| 马戏小子电影| 监狱女狱警法国剧| 刘可雯电影| 金牌销售的秘密| 烂赌夫斗烂赌妻粤语高清| 乳荡的小痍子2| 罪恶黑名单第一季| 日本大胸继拇| 马某某事件是谁| 《揉胸按摩》免费观看| 斗罗大陆208集免费观看完整版 | 无尽的在线观看免费版高清电视剧| 老鹰乐队墨尔本告别演唱会| 果宝特攻2全集| 人民的名义免费看| 《甜美姐姐动漫在线观看》| 不及格邻居| 傲斗凌天v20| 洪熙官电视剧| 叛逆者电视剧免费观看完整版| 老爸回家 电视剧| 怀来县| 《黑寡妇》丹尼尔斯电影免费观看| 叛我更幸福电影| 幸福到万家在线观看免费| 人蛇大战国语| 电影法国空姐1| 瓜达卢佩玫瑰完整版| 七月与安生迅雷下载| 锵锵锵锵锵锵锵锵电视剧免费观看| 钻石王老五的艰难爱情 电视剧| 需要爸爸播种籽在线观看| 拥抱太阳的月亮大结局| aj视频电视剧大全日本| 我的祖母是穿越女短剧免费观看 | 最后的生还者在线观看| 学生妈妈5字| 荷兰VICTORYDAY极品| 女销售| 《混凝土市场》| 朴亚珍| 王宝钏与薛平贵电视剧| 韩国r电影| 斗罗大陆148集| 酒店房间1~40集| 韩剧初恋| 吗吗的朋友33| 超危保镖电影完整版免费| 麦乐迪《女超人》2013| 安徽卫视2013国剧盛典完整版| 铿铿铿锵锵锵锵免费观看| 玫瑰的故事在线免费| 凤庆县| 一路向西电影在线观看免费版国语| 湖北卫视养生汇| 强制诱惑| 李丽珍开心鬼| 美女拳击赛| 电视剧食神| 少年天子之顺治王朝剧情| 飞虎出征什么时候上映| 类似3d肉蒲团的电影| 侦探任务绝密卖淫档案| 人体蜈蚣2在线观看| 僵尸医生高清| 慈禧秘史邱淑贞| 杀戮都市在线观看| 暴力街区2高清| 群星电视剧| 杰啊教你说闽南语| 马上天下| 蜡笔小新第九季| 张嘉译电视剧大全最新| 李卫当官第一部免费版央视网| 暴躁46集在线观看电视剧免费全集 | 戴拿奥特曼免费观看中文版| 《理想之城》第二部| 苹果香原唱| 聊斋三 电视剧| 庆余年第三季40集免费观看| 中国机长| 1995版人猿泰山意大利版本| 火拼全集观看| 下载,强奸强奸| 珠海驾车撞人事件35死43伤| 女版战狼10国语在线观看| 熟睡被义子侵犯中文字幕_第7集| 圣特罗佩女孩1982满天星| 电视剧用心过日子| 镇魂 电视剧| 乡村爱情4免费版全集在线观看| 嫂子的职业2电视剧免费观看全集| 李采潭同学妈妈电影免费观看中文| 归棹电视剧| 甲种公牛在线观看| 看不见的朋友| 强伦轩女教师在线观看| 逃出洛杉矶| 电影女老师的诱惑在线观看| 国子监来了个女弟子剧情介绍| 黑白配HD1080完整版高清一| 《新世界》在线观看免费| 莫莉特别酒店3| 潘金莲之前生后世| 隆德县| 电视剧英雄祭全集免费观看| 人心俱乐部电视剧在线观看| 年轻的母亲2电影完整版的视频| 子夜归一共多少集| 金瓶梅电影全集百度影音| 朋友的妈妈完整版| 佳期如梦之海上繁花结局| 完美世界160集| 埃及皇后2003版满天星| 狙击手拉苏尔电影免费观看完整版| 插曲的痛高清片| 疯狂的有夫之妇| 美国女按摩师2无删减版电影观看 HD版泰山《激战丛林》完整版免费免费 | 庆余年电视剧第二部| 蒋欣王凯宣布结婚| 父子刑警| 世界上最小的鸡走红| 日本男按摩师影院| 欲望爱人免费观看| 电影浪漫女家教正版货| 银河护卫队2百度云资源| 卖房销售完整版| 巨轮粤语28| 伊波拉病毒2伊波拉大逃亡| 鉴证实录3免费国语版在线观看| 战火红颜40集免费观看全集高清| 担保韩国电影| 善良的秘书的目的在线| 免费安装西瓜视频| 长歌行电视剧全49集完整版| 要爸爸的种子美国电视剧| 玉浦团电影| 一家子插我B啊| 米奇妙妙屋英语版动漫| 头号前妻电视剧全集| 蝴蝶公墓网站| 铜锣铜钹铿锵锵锵在线观看2023年 | 爱情公寓第2季| 木浦黑帮天堂| 人世间 纪录片| 犯罪现场调查迈阿密| 好妈妈14中汉字| 小时代2 下载| 渔夫荒野台湾版免费观看| 那年匆匆| 甄嬛传48| 小张帝演唱会| 无颜之月免费观看完整| 电影《北越暴行》在线观看免费| 黄日华个人资料简介| 《奇怪的美容院2| 罪行法则韩剧免费播放| 《被可怕的科长欺负的新人》公| 沧元图动漫26集免费观看| 重案六组电视剧| 爱在日落之前| 《婆婆来了》电视剧| 韩国x档案| 小五弟最近山歌| 木下檩檩子电影免费观看高清版| 实地探访银川烧烤店爆炸事故现场 | 范冰冰的苹果在线观看视频大全| 丁度巴拉斯肉蔻之香免费在线观看| 搞笑一家人国语配音| 荒野渔夫高清免费观看| 杨佑宁十七岁的天空| 绿茶妹2 微电影| 高清消失之人| 泰国三级激夜完整版| 灭火宝贝满天星法版免费壮志凌云在线观看 | 女超人2法国满天星完整版| 八星报喜下载| 售楼小姐的销售秘密在线观看| 玩命派对| 美容院特殊待遇1| 赖小民情妇| 韩国美容店的待遇5HD| 都市狂龙:纵横黑白两道短剧全集| 疯狂的麦克斯4下载| 楚辞招魂| 掌上明珠剧情| 一起愁愁在线观看完整版电视| 哪吒2之魔童闹海| 私人女性监狱电视剧完整版观费 | 麦克斯的魔法世界| 韩剧《夫妻的世界》| 妹妹的第一次有点紧| 21世纪爱情指南完整在线观看| 父贵荣华短剧全集| 《法国少女农场》在线电影| 电影不忠诱罪完整版| VICTORYDAY护士| 莫少琳电影全部免费播放| 猎罪图鉴第二季在线观看| 堂梦电影| 掌心里的海| 《和讨厌的部长出差旅》在线观看| 白毛女选段| 河山电视剧| 星际迷航 2009| 最美的安排| 《激战丛林》电影在线播放| 王俊凯跨年2023| 碟中谍5在线观看完整高清免费版| 销冠的秘密3在线| 龙器电视剧在线看免费观看| 罗丽星克莱尔总统夫人在线观看| 狼的诱惑| 电影宿敌完整版免费观看| 麦乐迪版女超人完整版免费看| E版人猿泰山1995故事简介| G版2010法国空少| 硬汉枪神在线观看| 万人之上短剧| 诛仙电影版在线观看| 印度藏歌| 义姐是不是良喂养1-2集 | 斗破苍穹第175集免费播放| 游泳的秘密| 美国版武则天惊艳版演员表| 《前任1》高清完整版| 《卢旺达玫瑰》完整版| 擅长捉弄人的高木同学| 回旋蛇球| 厨缘电视剧| 太平年未删减| 盛唐风流电影免费在线观看| 日本jzjzz在线观看| 白夜追凶 下载| 步步电视剧| 爱情呼叫转移电影| 《女教师的诱感》| 新建文件夹在线观看完整版| 孽恋狂情| 一个人免费看的高清电影在线观看 | 火凤凰女子特种兵| 《玉女心经3:阴阳和合》免费舒淇电影完整版 | 村妓2电影完整版| 乡村爱情9免费观看全集| 电影弱点| 樱兰高校男公关部1| 凶器未删减| 《高压监狱2》完整免费| 高清《诡舍》| 电影华尔街之狼| 女生男生一起愁愁愁视频| 仁心解码电视剧| 儿媳妇的味道| 挟洋自重| 八百壮士在线观看| 动感之星小玲236集完整版免费观看下| 亲爱的妈妈4韩国在线观看| 生化危机4:战神再生| 郭达蔡明小品打针| 戏说台湾全集| .《奇怪的美容院2》| 120天索多玛电影在线观看| 钢铿锵锵锵锵在线观看| 奥特曼大电影2012| 紧急追捕电视剧全集| 微播音乐| 春晓舞蹈| 维修工的艳遇韩国电影在线看| 先生贵姓| 爱丫爱丫40集| 危险关系2012| 男子姐姐值夜班离奇失踪多年| 意大利地爆天星电影在线观看| 滨崎步演唱会高清| 苍兰诀动漫在线观看完整版| 流水沼沼电视剧免费观看完整版| 我的另一面土耳其电视剧| 漂亮小瘦子| 闺蜜电影下载| 韩国高清mv| 《图书馆的女友》1-6集结局| 绿茶妹 电影| 麦乐迪和父亲的电影叫什么| 燃烧大地| 白发皇妃电视剧| 女兵暴行伦理电影| 最佳爱情电视剧| 新金银悔5| 朝阳沟封号| 谎言大作战| 类似战狼六的欧式少女电影| 今生有你电视剧西瓜免费观看| 战狼6欧式少女版资源百度云| 暗黑荣耀| 伊波拉病毒2国语在线观看完整版| 赤足惊魂下载| 战火中青春2| 私人家教韩国| 林家铺子| 《需要爸爸播种子》在线观看播放_HD/高清_免费无删减完整版电影 - 星辰影院 | 美国《爱上儿子》电影 | 瑜伽起源真的很恶心| 俄罗斯空乘4完整版| 中华英雄| 徐凤年电视剧免费播放| 与部长出差中文电影| 我是蜘蛛又怎样风车动漫| 麦乐迪的女超人在线观看完整免费 | 女超人 麦乐迪| 大内密探00性性| 小短剧网剧大全| 新有菜在线观看视频| 密爱2002在线观看| 弃女归来:家产我来拿短剧全集| 罗宾 威廉姆斯| 视频在线观看免费高清| 激情丛林男主角还演过什么电影 | 新版笑傲江湖| 梦比优斯奥特曼外传 亡灵复活 | 美容店的特别待遇5中字主演 | 小巷人家电视剧在线免费观看| 风中奇缘| 中国古典美女| 特朗普称美国正从内部死亡| 特殊的诊疗室6| 乳房与月亮| 财神有道演员表| 妈妈的职业5观看| 死亡同学会| 苹果电影在线播放| 未来的儿子全集观看| 高清《英雄》电影完整版| 铿锵铿锵锵锵锵免费观看电视剧| 神秘缔造者| 蛇姬恋泰剧未删减版本| 广场舞读西厢| 动感小站动感之星第134集妖精大结局| 好兄弟把我给C了| 桃恋者双男主泰剧| 亚洲电影性生活| 山西电视台少儿频道| 深情眼免费观看| 味道男女| 身材最好的女明星| 秋瓷炫《生死决断》| 禁止的爱善良的中文字| 高清《为有暗香来》| 法国电影《空乘5》在线观看| 还珠格格第一部1一24集| 月牙 赵本山| 东风61到美国多少分钟| 身为人母电影在线观看| 韩世雅《大度》在线观看 | 江山风雨情高清| 印度一头野猪大闹超市| 《私人家教》1983版又叫什么版本| 家庭教师199| 啄木鸟壮志凌云| 女部长3| 公媳在线观看| 欢乐颂5高清免费| 《公的浮之手中字电影| 咱们结婚吧邓佳佳结局| 红海行动免费观看完整| 《部长出差的日子》电影在线观看| 火烧云全集| 《不是红杏也出墙》| 蜂鸟 电视剧| 电锯惊魂4在线观看| 豪放大兵1999电视剧免费观看全集意大| 罪与罚作者| 我不受欢迎都是你们的错| 甜美姐姐在线免费看| 奥巴马白宫记者晚宴| 秀豆魔导士| 车水马龙电影免费版| 混血的摇篮曲| 女人出轨电影| 大梦周天动漫在线观看免费播放全集 | 中华大丈夫高清| 图书馆女友1-6集观看地址 | 江湖情电影| 毒医肥尸无删减在线播放第一季| 人来人往 国语| 上司来我家做客 完整版中字 | 撕开胸罩一边亲一摸| 痴汉地狱| 《需要爸爸播种子》观看| 孩子快抓紧妈妈的手| 疯狂粉丝王下载| 《玫瑰》瓜达卢佩在线播放免费观看 | 奥运高手国语| 战长沙 电视剧| 张警官免费观看完整版| 我爱鲁班| 百合女女互慰吃奶互揉网站 | 雏妓在线观看完整版| 雪豹之特战出击| 黑天鹅在线观看| 克里斯汀满天星三部曲| 高清《桃恋者》电视剧| 恶搞之家在线观看免费完整版| 部长来家做客HD电影| 新天龙八部43集| 步步倾心| 岳阳县| 武藤兰av下载| 温泉屋的老板娘| 台湾省| 保险女王的秘密| 特攻联盟| 韩国七公主| 国色芳华电视剧在线免费观看| 网络第一美女| 房奴试爱智恩开头原声| 电视剧大河儿女| 叶子楣 女机械人| 是女儿是妈妈第二季免费观看全集| 女子亲卫队完整免费高清原声满天星 | 渔夫荒野史电影完整版| 二人台小寡妇上坟| 魔乳秘剑帖全集| 花与蛇5之牙医| 假日暖洋洋 电视剧| 人间世第七集| 漂亮的小姨韩剧免费观看完整版| 《笑刃荒途》| 黄yyid| 1987渔夫荒野史记全集| 极品教师第三季在线观看完整版 | 两小无拆天府泰剧在线观看| 哪吒之魔童闹海2在线观看| 莉娜安德森的满天星代表《小姐》 | 黑日危机高清| 桃色胸器| 末日村庄电影| 四大美人之西施高清完整版| 美景之屋6新版免费观看| 泰国人妖表演| 火影忍者在线观看免费全集| 法国电影《农场保卫战》免费观看| 傻儿司令高清全集| 玉蒲团之愉情宝鉴在线观看| 女房东的滋味| 冒牌英雄 电视剧| 特种兵之火凤凰演员| 伦理《法国护士长》2006在线| 乡村爱情圆舞曲大结局| 这!就是街舞发布战队海报| 《雨夜屠夫》黄秋生版在线观看| 天下第一镖局2长风行| 美女猜拳脱脱| 爸爸为我播种| 复仇打脸:重生弃少短剧全集| 正义无限电视剧| 电影《布兰迪之军事不当行为》在线| 《千金》在线完整观看日剧| 名侦探柯南第14个目标| 极品老师第三季免费观看完整版| 赶尸先生电影国语完整版在线观看| 上瘾第二季| 家庭矛盾完整版麦乐迪| 潜伏土豆网在线观看| 高清聊斋:兰若寺未删减| 莫妮卡爱我几何原版免费观看| 宜昌保卫战电视剧全集| 斩服少女完整版在线观看| 小凤(下)| 国家公诉电视剧| 爱云点播| 易易亲韩国电影视频大全| 高清《你的婚礼》免费观看| 魔法灰姑娘电影| 《性的暴行》未删版 | 战狼6女版高清免费看| 惊天核网国语版| 超能力者| 韩剧空调维修理工| 天王状师| 一夜丈夫 电视剧| 被可怕的科长欺负的员工电影名字是 | 我的三体| 战狼6欧洲少女完整版| 赤足惊魂下载| 动漫美女被虐小游戏| 台湾版《荒野渔夫》电影在线观看 | 军事不当行为完整版| 如月车站Re:电影| 大威虎看世界| 战狼6免费观看全集高清版| 激情电影院| 玩偶姐姐陪玩第四部片尾BGM| 《21世纪爱情指南》| 婆婆的味道大结局| 夺命小丑2| 断奶演员表| 吸血鬼猎人d有几部| 《飞翔女孩》满天星| 活着韩国丧尸片完整版| 姐妹反目全集免费| 荣誉守则满天星免费观看高清版 | 猛鬼佛跳墙国语| 余文乐 高圆圆| Jul505在线| 两个人的世界全集免费观看完整版| 电视剧长相思在线观看免费| Xl司令第二季第八集无马赛免费观看| 撕票风云国语高清完整在线观看| 向东是大海百度影音| 状志凌云满天星无删减版| 父女版因为爱情| 一生一世美人骨在线观看 | 刺客伍六七第三季玄武国篇免费观看| 机动奥特曼第一季| oneday在线完整版观看免费 | 如懿传1-87集在线观看| 敦刻尔克电影| 激战厨房| 好汉秦琼| 输赢电视剧全集在线观看完整版 | 美容店的待遇免费观看| 电视剧雪豹全集| 宝贝计划免费观看完整版| 《插曲的痛》免费观看 | 电影修理工的艳遇国语在线观看| 不平凡之路电视剧免费观看| 外太空杀人小丑| 我的我的.| 日本大学生特殊混血按摩电影| 在一声声姐姐中迷失自我 | 页游| 跟部长出差的日子在线免费| 废柴兄弟3在线观看免费版| 沉香如屑免费完整观看电视剧| 公的浮之手中字电影完整版| 韩剧拥抱太阳的月亮| 聊斋2三姐妹免费播放| 华丽一族剧情| 《四大美人之貂蝉》| 团鬼六地狱之门| 女儿国3满天星版在线播放| 斗破苍穹169| 美味风蛇图纸| 变形金刚1电影下载| 义子侵犯电影看| 古川穗香| 随心所欲电影免费观看| 深田咏美在线电影观看| 埃及满天星1982| 北大奇才求职怒怼老板完整版| 樱桃电影| 男女在一起愁愁愁免费观看电视剧动| 无颜之月电视剧动漫在线观看| 急先锋在线观看| 禁忌1980满天星凯·帕克| 超能战甲| 免费完整版| 辰溪县| 《不好笑就露宿街头》| 苍井空电影网| 月亮之上广场舞| 纱荣子维修工的艳遇| 爱的疯狂| 伏罗希洛夫射手 电影| 将夜2一在线观看免费| 公之浮手中字在线观看| 高清《喜剧之王》免费观看| 美少女还我h之魂| 维修员工的培训电影| 小徐若瑄| 星星的密室张艺兴| 妻子的背叛动漫第1季| 蒋玲玲| 需要浪漫电视剧| 先生你哪位| 霸道股评最新视频| 《女装正太2》| 汤方大胆人体艺术| 黑暗荣耀第二季网盘| 《女超人-麦乐迪版》| 公交车上的那些事免费看中文| 《牙医诊所》中字| 电视剧樊梨花| xl司令第二季马赛免费观看高清动漫 | 公之浮之手1-2集免费播放| 九度空间| 天下父母心| 《和部长一起去出差旅》| 电影聊斋叶子楣| 电视剧海上繁花免费观看| 碟中谍14免费观看完整版| 妹妹最近有点怪真人电影原声 | 《美容院的特殊待遇》| 义姐是不是良女动漫全集免费播放| 吐槽西游记后传| 华丽的外出电影在线| 电影《朱莉》凯帕克| 电视剧胜算全集免费观看| 高清《四大元素之水之魅影》电视剧 | 超级飞侠第二季| 美国xxxx| 《威尼斯之旅》| 侵犯女律师在线| 猛龙过江高清| 1995年意大利版《人猿泰山》高清版| 鬼女魔咒| 本城小百合| 妈妈的朋友7在线观看| 姐姐的男友2字id| 高清《黑皮书》电影| 鬼父手机在线看1到16集| 寒枝折不断电视剧免费观看| 酒店激战主演是谁| 赢钱专家国语| 三大队电影完整版免费观看| 樱桃红了第二部| 双女任务高清完整版在线观看| 好想告诉你第一季在线观看| 看电影免费观看完整版| 永吉县| 战狼6免费观看西瓜视频| 琉璃免费观看电视剧西瓜| 纸牌屋第2季| 平塘县| 色诱修理工| 电视连续剧甄嬛传免费高清观看| 强心脏111122| 呱达卢佩的玫瑰| 露营后营露宿第一季未增减野营| 密室大逃脱第七季大神版| 爱在离别时优酷| 做aj的电视剧大全免费观看中国人| 开心锤锤搞笑全集| 相思原唱| 丢作业的秦朗家人回应| 铿铿锵锵免费观看在线播放| 奔跑吧兄弟第三季完整版免费| 滚蛋吧肿瘤君| 赛尔号大电影5| 哇嘎视频在线观看| 我的家教| 僵尸先生2| 猛鬼撞鬼| 《漂亮妻子被社长侵犯》| 哪吒3免费高清在线观看| 变形金刚2百度影音| 阳光卫视 子夜| 我的好朋友瘦子4| 德令哈一夜刀郎原唱| 故宫开车| 胜女的代价 第2季| 兄弟换麦子2中字版演员表| 年轻的保险销售员2| 电影我的表妹| 卫生队的故事电视剧免费观看 | 轻蔑电影| 圣斗士星矢黄金魂| 暴劫倾情电影| 热带暴风雨行动满天星版| 大决战电视连续剧全集在线播放|