C#网络编程之多线程(2)

1.一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括多个线程。线程是操作系统分配处理器时间的基本单位

2.应用程序域是指进行错误隔离和安全隔离,在CLR中运行,每个程序域都是单个线程启动,但该程序域中的代码可以创建附加应用程序域和附加线程

3.多线程的优点在于一个线程阻塞的时候,CUP可以运行其他的线程而不需要等待,这样大大的提高了程序的执行效率。而缺点在于线程需要占用内存,线程越多占用的内存就多,多线程需要协调和管理,所以需要占用CPU时间以便跟踪线程,线程之间对共享资源访问会互相影响,所以得解决争用共享资源的问题,线程太多,也会导致控制起来更复杂,最终导致很多程序的缺陷。

4.一个进程可以创建多个线程以执行与该进程关联的部分程序代码,线程使用Tread处理


//线程简单的理解 就执行多个任务 
//相当于代码在执行某一个方时 此方法中逻辑还木有执行完,就进行第二次调用 执行相应的逻辑(暂时这样理解)

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 Stockes
{
    public partial class ThreadTest : Form
    {
        public ThreadTest()
        {
            InitializeComponent();
            CheckForIllegalCrossThreadCalls = false;//允许跨线程调用
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            Thread thr = new Thread(new ThreadStart(writetxt1));//创建线程
            thr.Start();//启动线程
        }
        public void writetxt1()
        {
            string str = textBox3.Text.Trim();
            if (radioButton1.Checked)
            {
                groupBox2.Text = "正在运行中。。";
                groupBox1.Refresh();
                wrieteTxt(str,textBox1);
            }
            if (radioButton2.Checked)
            {
                groupBox3.Text = "正在运行中。。。";
                groupBox1.Refresh();
                wrieteTxt(str,textBox2);
            }
        }

        public void wrieteTxt(String str, TextBox txt)
        {
            try
            {
                for (int i = 0; i < str.Length; i++)
                {
                    txt.AppendText(str[i].ToString());
                    DateTime now = DateTime.Now;
                    while (now.AddSeconds(1) > DateTime.Now)
                    { }
                }
            }
            catch(Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
    }
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小哥、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值