zoukankan      html  css  js  c++  java
  • 8.泡妞与设计模式(九) 观察者模式

    OBSERVER 观察者模式

    观察者模式:观察者模式定义了一种一队多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使他们能够自动更新自己。

    想知道咱们公司最新MM情报吗?加入公司的MM情报邮件组就行了,tom负责搜集情报,他发现的新情报不用一个一个通知我们,直接发布给邮件组,我们作为订阅者(观察者)就可以及时收到情报啦。

    完整代码

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #include <Windows.h>
     4 
     5 HANDLE event[2] = { 0 };
     6 
     7 void fun1(void *p)
     8 {
     9     printf("玩游戏
    ");
    10     WaitForSingleObject(event[0],INFINITE);
    11     MessageBoxA(0, "工作中", "working", 0);
    12 }
    13 
    14 void fun2(void *p)
    15 {
    16     printf("听音乐
    ");
    17     WaitForSingleObject(event[1],INFINITE);
    18     MessageBoxA(0, "工作中", "working", 0);
    19 }
    20 
    21 void look(void *p)
    22 {
    23     Sleep(3000);
    24     printf("老板来了
    ");
    25     for (int i = 0; i < 2; i++)
    26     {
    27         SetEvent(event[i]);
    28     }
    29 }
    30 
    31 void main()
    32 {
    33     event[0] = CreateEvent(NULL, FALSE, FALSE, "1");
    34     event[1] = CreateEvent(NULL, FALSE, FALSE, "2");
    35     _beginthread(fun1, 0, NULL);
    36     _beginthread(fun2, 0, NULL);
    37     _beginthread(look, 0, NULL);
    38     Sleep(100000);
    39 }
  • 相关阅读:
    项目ITP(五) spring4.0 整合 Quartz 实现任务调度
    [Git 系列] WIN7下Git的安装
    Candy
    OSGI
    JAVA编程思想(1)
    [python] 字典和列表中的pop()函数
    R语言编程语法
    Linux 之创建工作目录-mkdir
    python 之 改变工作目录
    python 之 'and' 和 'or'
  • 原文地址:https://www.cnblogs.com/xiaochi/p/8541104.html
Copyright © 2011-2022 走看看