zoukankan      html  css  js  c++  java
  • C# lock

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Threading;

    namespace WindowsFormsApplication18
    {


    public partial class Form1 : Form
    {
    delegate void SetTextCallback(string text);

    public Form1()
    {
    InitializeComponent();
    }

    public void SetText(string text)
    {
    if (this.textBox1.InvokeRequired)
    {
    SetTextCallback d = new SetTextCallback(SetText);
    this.Invoke(d, new object[] { text });
    }
    else
    {
    this.textBox1.Text = this.textBox1.Text + "\r\n" + text;
    }
    }

    private void button1_Click(object sender, EventArgs e)
    {
    textBox1.Text = "";
    Thread[] thd = new Thread[500];
    int intI = 0;
    for (intI = 0; intI < 50; intI++)
    {
    thd[intI] = new Thread(new ParameterizedThreadStart(thdText));
    thd[intI].Name = " Thread" + intI.ToString();
    thd[intI].IsBackground = true;
    thd[intI].Start(intI);
    }
    }

    /// <summary>
    /// 线程调用的方法
    /// </summary>
    /// <param name="obj"></param>

    private void thdText(object obj)
    {
    oper op = new oper();
    int intI = Convert.ToInt32(obj);
    SetText(op.addition());
    }
    }


    public class oper
    {
    private static object obj = new object();
    private static Single slgTotal;
    public string addition()
    {
    lock (obj) //lock (this) 锁定的是当前实例
    {
    int intI = 0;
    slgTotal = 0;
    for (intI = 0; intI <= 50; intI++)
    {
    slgTotal = slgTotal + intI;
    Thread.Sleep(5);
    }
    return slgTotal.ToString() + " thread:" + Thread.CurrentThread.Name;
    }
    }
    }
    }

  • 相关阅读:
    Nginx负载均衡+代理+ssl+压力测试
    Nginx配置文件详解
    HDU ACM 1690 Bus System (SPFA)
    HDU ACM 1224 Free DIY Tour (SPFA)
    HDU ACM 1869 六度分离(Floyd)
    HDU ACM 2066 一个人的旅行
    HDU ACM 3790 最短路径问题
    HDU ACM 1879 继续畅通工程
    HDU ACM 1856 More is better(并查集)
    HDU ACM 1325 / POJ 1308 Is It A Tree?
  • 原文地址:https://www.cnblogs.com/yuanchao/p/3217469.html
Copyright © 2011-2022 走看看