PostRequestHandlerExecute和PreSendRequestContent之间的事件是在服务器试行Handler管理以往触发。

  • 饿汉式的落到实处(饿汉式也正是随便你用不用本身都把实例化创立好放在此处,你需求用的时候就拿去用)

Sol

定理:路线覆盖 = 定点数 – 二分图最大相称数

直接上匈牙利(Magyarország)

输出方案的话就不断的从一个点跳相配边

#include<cstdio>#include<queue>#include<cstring>using namespace std;const int MAXN = 1e5 + 10, INF = 1e9 + 10;inline int read() {    char c = getchar(); int x = 0, f = 1;    while(c < '0' || c > '9') {if(c == '-') f = -1; c = getchar();}    while(c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();    return x * f;}int N, M;vector<int> v[MAXN];int link[MAXN], vis[MAXN], cnt = 1;bool Arg(int x) {    for(int i = 0; i < v[x].size(); i++) {        int to = v[x][i];        if(vis[to] == cnt) continue; vis[to] = cnt;        if(!link[to] || Arg)            {link[to] = x; link[x] = to; return 1;}    }    return 0;}int Hunary() {    int ans = 0;    for(int i = 1; i <= N; i++, cnt++)        if            ans++;    return ans;}int main() {    N = read(); M = read();    for(int i = 1; i <= M; i++) {        int x = read(), y = read();        v[x].push_back(y + N);    }    int ans = N - Hunary();    memset(vis, 0, sizeof;    for(int i = 1; i <= N; i++) {        int x = i + N;        if continue;        do             printf("%d ", x = x - N);        while(vis[x] = 1, x = link[x]);        puts("");    }    printf("%d", ans);    return 0;}

图片 1

public class Singleton {  private Singleton() {        }  private static Singleton singleton=null;  public static  Singleton getInstance(){      if(singleton==null) {          try {
       //假设线程阻塞情况            Thread.sleep(100);            return  new Singleton();        } catch (InterruptedException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }               }   return singleton;  }  public static void main(String[] args) {        Set<Singleton> singletons=                new HashSet<Singleton>();        for (int i = 0; i < 10; i++) {            singletons.add(Singleton.getInstance;        }        System.out.println(singletons.size;
     //10
     //说明多线程下懒汉式可能会创建多个实例对象
}}

题意

付出一张有向无环图,求出用最少的路子覆盖整张图,供给路线在稳住处不相交

出口方案

Http 管道

引入我们在多线程开辟中运用重复检查单例和静态内部类单例,集成了懒汉和饿汉的优点。

模块相对于 Global.asax
文件具备如下优点:模块能够张开包装,因而得以在成立一回后在非常多不一的应用程序中运用。

劣点:jvm加载类的时候自然会实例化,假使一贯没调用getInstance()方法,会招致能源的荒凉。

ASP.NET
使用模块来贯彻各种应用程序作用,当中囊括 Forms
身份验证、缓存、会话状态和客商端脚本服务。在各种情景下,假如那几个服务处于启用情状,模块会作为哀告的一有个别调用,并试行在另外单一页央求范围之外的天职。模块能够行使应用程序事件,大概会抓住可在
Global.asax 文件中拍卖的事件。

private Singleton() {  }

 1 package com.innerclass; 2  3 public class SingletonTest { 4      5     public static void main(String[] args) { 6         //我们在同包中创建一个其他类 并尝试创建Singleton实例 得的一个错误 7         //The constructor Singleton() is not visible 8         //构造方法Singleton() 是不可见的 也就是说我们无法创建Singleton的实例对象 9         Singleton singleton=new Singleton();10         11     }12 }

功能

 1 public class SingletonTest { 2      3     public static void main(String[] args) { 4         Singleton singleton1=Singleton.getInstance(); 5         Singleton singleton2=Singleton.getInstance(); 6         /* 7          * 利用Set的特性检验2个对象是同一个实例 8          * 输出1代表这两个变量代表的同一个实例对象 9          * 10          */11         Set<Singleton> set=new HashSet<Singleton>();12         set.add(singleton1);13         set.add(singleton2);14         System.out.println("set长度"+set.size;15         //set长度116     }17 }

自然网址无法是空网址,不然输出的只是单排

何以有限支撑首个和第4本性格呢->2个实例化的靶子相等表明是一样实例化对象

  1. HttpRuntime将Http诉求转交给 HttpApplication,HttpApplication代表着技师创制的Web应用程序。HttpApplication创造针对此Http央求的 HttpContext对象,那些目的包涵了关于此恳请的众多任何对象,首假使HttpRequest、HttpResponse、HttpSessionState等。这么些指标在程序中可以经过Page类或许Context类进行拜会。、

  2. 接下去Http央求通过一各个Module,这一个Module对Http央浼具备完全的调整权。那个Module能够做一些奉行某些实际职业前的政工。

2:单例类的天下无敌实例化必需由友好姣好

HTTP
模块平日具备以下用途:

1 public class Singleton {2   private Singleton() {3   }4   private static Singleton singleton=new Singleton();5   public static Singleton getInstance() {6       return singleton;7   }8 }

从第二步到第四步能够用上面包车型大巴图来显示

如何只是单线程没无线程同步情况的话依据气象选取懒汉和饿汉式。

  <system.webServer>    <modules>      <add name="myModule" type="FastDoge.Study.MyModule"/>    </modules>  </system.webServer>
 1   private Singleton() { 2        3   } 4   public static Singleton singleton=null;  5   public synchronized Singleton getInstance(){ 6       if(singleton==null) { 7           return  new Singleton(); 8       } 9    return singleton;10   }

在出道之初写过一篇博客,就用到HttpModule,当时有位园友议论说能够用Global.asax。结合当下的现象确实那样。可是双方相比较起来料定有弊有利。

  • 静态内部类完成单例(利用原理是内项指标对外不可知性)

选拔场景

可取:按需加载,不会招致能源的浪费

当你必需创立依赖应用程序事件的代码,何况符合以下条件时,都应当选拔模块:

volatile关键字 在这里不做叙述,有兴趣的可以直接去百度它的作用

在http诉求的管理进度中,只好调用多个HttpHandler,但能够调用多个HttpModule。

  • 线程安全的懒汉式(何为懒汉也等于按需加载
    唯有在采取的时候才对单例类去初步化)
  • 指望在其余应用程序中采纳该模块。

  • 期待幸免将复杂代码放在
    Global.asax 文件中。

  • 该模块应用于管道中的所有诉求(只限IIS 7.0 集成情势)。

学学进度中,如有不对,请提出。

发表评论

电子邮件地址不会被公开。 必填项已用*标注