Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
15 / 15 / 5
Регистрация: 06.04.2012
Сообщений: 287

Синхронизировать три нити одного процесса с помощью оператор lock

07.11.2012, 22:43. Показов 1864. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Синхронизировать три нити одного процесса с помощью оператор lock. Каждая нить поочередно формирует и печатает три числа a, b и c. Числа первой нити формируются в диапазоне от 10 до 19, второй нити – от 20 до 29 и третьей нити – от 30 до 39. Печать чисел каждой нитью производится по диагонали сверху вниз и слева направо (печать каждой нити занимает три строки) в продолжение печати предыдущей нити.

Как можно выполнить это задание ?
\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\\t\t\t\t\t\t\t\
\t\t\t\t\t\t\t\t\t\t\t\t\t
Можно как-нибудь попроще ? Везде \t делать, как то, плохо код смотрится (

Добавлено через 1 час 19 минут
Помогите пожалуйста

Добавлено через 1 час 8 минут
Никто не может помочь ? (( вроде задание легкое для опытных людей ... использование System.Threading; Как пробелы делать в программе кроме \t ? где самой можно задавать сколько отступать
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.11.2012, 22:43
Ответы с готовыми решениями:

Синхронизировать три нити одного процесса с помощью оператора lock
Синхронизировать три нити одного процесса с помощью оператора lock. Каждая нить формирует 5 чисел для одноименной строки...

Синхронизировать три нити одного процесса с помощью глобальных переменных
Как можно сделать это задание ? Синхронизировать три нити одного процесса с помощью глобальных переменных. Первая нить выводит на экран...

Синхронизировать поток ключевым словом lock
Есть задание, чтобы программа напоминала что-то вроде турникета, где пассажиры бы становились в очередь, бросали монетку(жетон) проходили...

8
15 / 15 / 5
Регистрация: 06.04.2012
Сообщений: 287
10.11.2012, 11:54  [ТС]
Как сделать ?
0
11 / 11 / 1
Регистрация: 22.12.2012
Сообщений: 508
10.05.2014, 14:22
Нити создавать и запускать так
C#
1
2
3
4
Thread thr = new Thread(MyThreadFunction);
thr.Start();
.......
void MyThreadFunction() { ... }
Больше не могу сказать)))

Добавлено через 23 секунды
Кстати функция обязательно void должна быть
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
10.05.2014, 14:26
Цитата Сообщение от qwertun Посмотреть сообщение
Нити создавать и запускать так
да что ты...
Task.Run
Task.Factory.StartNew
ThreadPool.QueueUserWorkItem
*.BeginInvoke
0
11 / 11 / 1
Регистрация: 22.12.2012
Сообщений: 508
10.05.2014, 15:43
Цитата Сообщение от Jupiter Посмотреть сообщение
да что ты...
Task.Run
Task.Factory.StartNew
ThreadPool.QueueUserWorkItem
*.BeginInvoke
не знаю о чём Вы, у меня мною предложенное работает
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
10.05.2014, 15:54
Adina, для форматирования вывода можно пользоваться string.Format(). Вот пример.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication14
{
    class Program
    {
        static void Main(string[] args)
        {
            string myString = string.Format("{0,-10}{1,-15}{2}", 23, 23, 23);
            Console.WriteLine(myString);
            Console.ReadLine();
        }
    }
}
0
9 / 9 / 8
Регистрация: 22.04.2013
Сообщений: 52
11.05.2014, 06:12
Цитата Сообщение от qwertun Посмотреть сообщение
Кстати функция обязательно void должна быть
вы немного не точно. Можно и не только void, пруфы в Andrew Troelsen. Pro C# 5.0 and the .NET 4.5 Framework на 665 стр

Цитата Сообщение от Jupiter Посмотреть сообщение
да что ты...
Task.Run
Task.Factory.StartNew
ThreadPool.QueueUserWorkItem
*.BeginInvoke
а это альтернатива работы с Parallel

А вообще по заданию: я 5 раз перечитал. я хз что ты хотел, понятнее напиши, если еще актуальна задача.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
11.05.2014, 07:18
Jupiter, это все обертки, тем более, что таски создают только таски, а новый поток выполнения является, как они любят говорить, "деталью реализации, о которой знать не надо"
0
11.05.2014, 13:42

Не по теме:

Цитата Сообщение от Psilon Посмотреть сообщение
это все обертки
спасибо кэп

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.05.2014, 13:42
Помогаю со студенческими работами здесь

Найти вероятность того, что при вытягивании трех нитей окажется: 1) все нити одного цвета; б) все нити разных
2. В мешке смешаны нити трех цветов: белых 50%, красных – 30%, черных – 20%. Определить вероятность того, что при последовательном...

Как синхронизировать два процесса?
имеется два одинаковых объекта. Как задержать событие одного из них, пока не закончилось тоже событие для другого?

Как синхронизировать два процесса?
и ещё один вопрос, может кто кинет ссылочку , де подробно описано как синхронизировать два процесса? можно через критическую секцию , ну...

Acer aspire 5552G-N974G64Mikk Проблема с Caps Lock, Num Lock, Scroll Lock
Вообщем у меня такая же проблемма https://www.cyberforum.ru/notebooks/thread552722.html Небольшая проблема на ноутбуке, когда...

Вывести на экран в символическом виде состояние NUM LOCK, CAPS LOCK и SCROLL LOCK
Помогите решить задачку на турбо си Выводить на экран в символическом виде состояние NUM LOCK, CAPS LOCK и SCROLL LOCK (вкл. / выкл.),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru