zoukankan      html  css  js  c++  java
  • 线程介绍

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
    
                timer1.Enabled = true;
                ThreadStart childref = new ThreadStart(CallToChildThread);
                Thread childThread = new Thread(childref);
                childThread.Start();
            }
            public void CallToChildThread()
            {
                while (true)
                {
                    Console.WriteLine("子线程开始");
                    // 线程暂停 3000 毫秒
                    int sleepfor = 1000;
                    Console.WriteLine("子线程等待 {0} 秒", sleepfor / 1000);
                    Thread.Sleep(sleepfor);
                    SetText("我是子线程:" + DateTime.Now.ToString());
                }
            }
            private delegate void SetTextCallback(string text);
    
            /// <summary>
            /// 给label赋值
            /// </summary>
            /// <param name="text"></param>
            private void SetText(string text)
            {
                // InvokeRequired需要比较调用线程ID和创建线程ID
                // 如果它们不相同则返回true
                if (this.label1.InvokeRequired)
                {
                    SetTextCallback d = new SetTextCallback(SetText);
                    this.Invoke(d, new object[] { text });
                }
                else
                {
                    this.label1.Text = text;
                }
            }
    
            private void timer1_Tick(object sender, EventArgs e)
            {
                 if (progressBar1.Value<progressBar1.Maximum)
                {
                    progressBar1.Value++;
                }
                else
                {
                    
                    timer1.Enabled = false;
                }
            }
        }
    }
  • 相关阅读:
    数据库中group by和having语法使用方法
    loadrunner---HTML 和URL两种模式录制的区别
    loadrunner---设置检查点
    jmeter---接口测试
    H5前端页面性能测试
    Nginx服务器中的Nginx.conf配置文件主要内容解释
    测试用例的八大要素
    mysql在linux中的操作命令
    软件兼容性测试
    liunx中的gcc命令
  • 原文地址:https://www.cnblogs.com/bin521/p/10723104.html
Copyright © 2011-2022 走看看