Я создаю новые потоки и передаю тип параметра Affectedinput. Если я не использую задержку после создания потока, я вижу, что операторы выводятся на консоль случайным образом в функции потока. Это меня смущает. Я хочу убедиться, что каждый поток выполняется независимо, используя задержку без смешивания данных, отправляемых в поток. Достаточно ли следующий код для производственной версии?
public class Affectedinput
{
public string input { get; set; }
public int delay { get; set; }
}
public static List affectedinputs { get; set; }
static void Main(string[] args)
{
affectedinputs = new List();
Random rng = new Random();
for (int i = 0; i < 10; i++)
{
int rand1 = rng.Next(10);
Affectedinput input = new Affectedinput();
input.input = "HI" + (i + 1).ToString();
input.delay = rand1;
affectedinputs.Add(input);
string datee = String.Format("{0}, delay {1}", input.input, input.delay);
Console.WriteLine(datee);
Console.WriteLine("\n");
}
DateTime aDate1 = DateTime.Now;
Console.WriteLine(aDate1.ToString("dddd, dd MMMM yyyy HH:mm:ss"));
foreach (var item1 in affectedinputs)
{
new Thread(() => DoChangeInput(item1)).Start();
//Thread.Sleep(100);
}
}
private static void DoChangeInput(object parameterObj)
{
var parameter = (Affectedinput)parameterObj;
Thread.Sleep(parameter.delay * 1000);
//Write data to actual device
Console.WriteLine(parameter.input);
DateTime aDate = DateTime.Now;
Console.WriteLine(aDate.ToString("dddd, dd MMMM yyyy HH:mm:ss"));
Console.WriteLine("\n");
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... in-c-sharp
Синхронизированное выполнение потока в C# ⇐ C#
Место общения программистов C#
1719398864
Anonymous
Я создаю новые потоки и передаю тип параметра Affectedinput. Если я не использую задержку после создания потока, я вижу, что операторы выводятся на консоль случайным образом в функции потока. Это меня смущает. Я хочу убедиться, что каждый поток выполняется независимо, используя задержку без смешивания данных, отправляемых в поток. Достаточно ли следующий код для производственной версии?
public class Affectedinput
{
public string input { get; set; }
public int delay { get; set; }
}
public static List affectedinputs { get; set; }
static void Main(string[] args)
{
affectedinputs = new List();
Random rng = new Random();
for (int i = 0; i < 10; i++)
{
int rand1 = rng.Next(10);
Affectedinput input = new Affectedinput();
input.input = "HI" + (i + 1).ToString();
input.delay = rand1;
affectedinputs.Add(input);
string datee = String.Format("{0}, delay {1}", input.input, input.delay);
Console.WriteLine(datee);
Console.WriteLine("\n");
}
DateTime aDate1 = DateTime.Now;
Console.WriteLine(aDate1.ToString("dddd, dd MMMM yyyy HH:mm:ss"));
foreach (var item1 in affectedinputs)
{
new Thread(() => DoChangeInput(item1)).Start();
//Thread.Sleep(100);
}
}
private static void DoChangeInput(object parameterObj)
{
var parameter = (Affectedinput)parameterObj;
Thread.Sleep(parameter.delay * 1000);
//Write data to actual device
Console.WriteLine(parameter.input);
DateTime aDate = DateTime.Now;
Console.WriteLine(aDate.ToString("dddd, dd MMMM yyyy HH:mm:ss"));
Console.WriteLine("\n");
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78671365/synchronized-execution-of-thread-in-c-sharp[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия