当前位置:编程学习 > C#/ASP.NET >>

C#线程问题

我想做个测试Demo,用多线程模拟一百个用户同时使用,该怎么弄?我本来用了个线程数组,但是我发现这样的话测试Demo直接死在上边 --------------------编程问答-------------------- 额 你描述的不清楚。。。 --------------------编程问答-------------------- 你是想开启100个线程还是100个客户端访问服务端呢?
如果是前者你就创建100个线程就是了,后者可以采用Socket的方法模拟么~~ --------------------编程问答--------------------
引用 2 楼  的回复:
你是想开启100个线程还是100个客户端访问服务端呢?
如果是前者你就创建100个线程就是了,后者可以采用Socket的方法模拟么~~

我开启100个线程了,但是我的那个测试Demo就会卡死,是不是开的线程太多的缘故啊?? --------------------编程问答--------------------
引用 2 楼  的回复:
你是想开启100个线程还是100个客户端访问服务端呢?
如果是前者你就创建100个线程就是了,后者可以采用Socket的方法模拟么~~


就是想做个测试的Demo,模拟100个用户同时操作,想用多线程 --------------------编程问答--------------------
引用 1 楼  的回复:
额 你描述的不清楚。。。

额…… --------------------编程问答--------------------
引用 5 楼  的回复:
引用 1 楼 的回复:
额 你描述的不清楚。。。

额……


额…… --------------------编程问答-------------------- try
            {
                send = new Thread[n];
                for (int i = 0; i < n; i++)
                {
                    send[i] = new Thread(new ThreadStart(uf_TextSend));
                    send[i].IsBackground = true;
                    send[i].Start();
                }

            }
            catch (Exception ex)
            {
                isSend = true;
            }


上边启动100个线程
下边是线程跑的方法

 private void uf_TextSend()
        {
            uf_UpdateBeginTime(DateTime.Now.ToString());
            while (!isSend)
            {
                try
                {
                    string ls_Text = tb_Message.Text.Trim();
                    int li_length = ls_Text.Length;
                    ls_Text = "" + li_length.ToString() + "" + ls_Text + "";
                    if (axTalentM1.IceSendMessageData(tb_subject.Text.Trim(), ls_Text))
                    {
                        li_SendCount++;
                        uf_UpdateSendCount(li_SendCount.ToString());
                        Thread.Sleep(100);
                    }
                    else
                    {
                        //MessageBox.Show("SendData" );
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message.ToString());
                }
            }
        }

我就想知道这样启动100个线程行不行?为什么我的那个Demo总卡死? --------------------编程问答--------------------
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,