チャットクライアントをモックアップしようとしています。まずはコードはこちら
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace thread
{
class Program
{
public static Thread t1;
public static Thread t2;
public static bool flag;
public static Random rand = new Random();
static void Main(string[] args)
{
t1 = new Thread(first);
t2 = new Thread(second);
t1.Start();
t2.Start();
Console.Read();
}
public static void first()
{
string[] phrase = { "Hello", "random", "blah,blah", "computer", "Welcome", "This is chat bot" };
while (!flag)
{
Thread.Sleep(4000);
Console.WriteLine("{0}", phrase[rand.Next(6)]);
}
}
public static void second()
{
string input = "";
while (input!="x")
{
input=Console.ReadLine();
if (input=="x")
{
break;
}
}
flag = true;
}
}
}
このプログラムは自動的にコンソールにテキストを出力するので、メッセージを画面に書き込むこともできます。ここでの問題は、長い文を入力しているときはいつでも、入力に 4 秒以上かかるものがあることです。次に、自動化されたメッセージが次の行に出力される代わりに、入力しているものに追加されます。私はマルチスレッドに本当に慣れていないので、何が問題なのか正確にはわかりません。両方のスレッドが同じコンソール クラスを使用していると思います。
この点で助けていただければ幸いです。