static int pass_struct1(int a, struct1 x) { if (a != 3) { return(3); } return(check_struct1(x)); }
static int pass_struct1(int a, int b, struct1 x) { if (a != 3) { return(3); } if (b != 4) { return(4); } return(check_struct1(x)); }
static int check_struct1(struct1 x) { if (x.a != 1) { return(1); } if (x.b != 2) { return(2); } return(0); }
public static void Run() { Thread th1 = new Thread(() => { for (int i = 0; i < 1 << 20; i++) { count.Value++; struct1 stt = st.Value; stt.A++; stt.Str += i; st.Value = stt; Obj o = objs.Value; o.Str = "s" + i; Thread.Sleep(67); Trace.WriteLine("th1:" + objs.Value.Str); } }); Thread th2 = new Thread(() => { for (int i = 0; i < 1 << 20; i++) { count.Value++; struct1 stt = st.Value; stt.A++; stt.Str += i; st.Value = stt; Obj o = objs.Value; o.Str = "s" + i; Thread.Sleep(7); Trace.WriteLine("th2:" + objs.Value.Str); } }); th1.Start(); Thread.Sleep(60); th2.Start(); Thread.Sleep(100); Trace.WriteLine("Main:" + objs.Value.Str); }
static int pass_struct1(struct1 x) { return check_struct1(x); }
static int pass_struct1(int a, struct1 x) { if (a != 3) return 3; return check_struct1(x); }
static int pass_struct1(int a, int b, struct1 x) { if (a != 3) return 3; if (b != 4) return 4; return check_struct1(x); }
static int check_struct1(struct1 x) { if (x.a != 1) return 1; if (x.b != 2) return 2; return 0; }
static int pass_struct1(struct1 x) { return(check_struct1(x)); }