Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 18

Работа с потоками

24.02.2010, 18:12. Показов 3062. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток подскажите пож как реализовать :
"Шарики. Координаты заданного количества шариков изменяются на случайную величину по вертикали и горизонтали. При выпадении шарика за нижнюю границу допустимой области шарик исчезает. Изменение координат каждого шарика в отдельном потоке."
Неподскажите как это реализовать или дайте толчёк ато некак не могу додуматся ...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.02.2010, 18:12
Ответы с готовыми решениями:

Работа с потоками
Ребята, помогите. На C# программирую недавно, про потоки слышу впервые. Подскажите как это можно реализовать в VS2005. 1. Warcraft....

Работа с потоками...
Понимаю, что тема проезжена и не раз, однако спрошу:-[: Есть консольное приложение, оно занимается подсчетом сообщений. По запросу оно...

Работа с потоками
Добрые люди дайте готовый кусочек кода по работе с потоками Требования такие Запустив энное количество потоков мне надо дождаться их...

14
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
24.02.2010, 21:06
Когда координаты шариков больше, чем резрешение экрана - не прорисовывать этот шарик. А зачем в отдельном потоке?
1
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 18
25.02.2010, 01:41  [ТС]
незнаю даж задание такое )
я вот непойму как моно создавать разное количество шариков и задавать их координаты это при создании надо и поток создавать новый а как это зделать непойму ((
0
CEO
Эксперт С++
 Аватар для Alligieri
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
25.02.2010, 09:45
wwsetww, определите класс который будет реализовать обьект шарик, иметь допустим метод void Draw() и void ChangeSize(), пусть ChangeSize() вызывает перерисовку шариков (метод Draw()). Поскольку метод ChangeSize - private void без параметров, то вызвать его и нового треда не составит проблем.
1
CEO
Эксперт С++
 Аватар для Alligieri
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
25.02.2010, 11:09
Вот сделал небольшой семпл
Вложения
Тип файла: rar BallsSample.rar (39.0 Кб, 105 просмотров)
1
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 18
25.02.2010, 11:49  [ТС]
спс ...

Добавлено через 9 минут
а на какой версии С# зделана прога ато она не воткрывается (((
0
20 / 20 / 2
Регистрация: 26.01.2010
Сообщений: 106
25.02.2010, 11:53
Цитата Сообщение от wwsetww Посмотреть сообщение
а на какой версии С# зделана прога ато она не воткрывается (((
VS2008, судя по всему
0
CEO
Эксперт С++
 Аватар для Alligieri
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
25.02.2010, 12:00
Цитата Сообщение от wwsetww Посмотреть сообщение
а на какой версии С# зделана прога ато она не воткрывается (((
VisualStudio 2008 (.NET 3.5)
0
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 18
25.02.2010, 12:43  [ТС]
Цитата Сообщение от Alligieri Посмотреть сообщение
VisualStudio 2008 (.NET 3.5)
странно у мну тож буду разбератся )
0
13 / 12 / 1
Регистрация: 23.08.2008
Сообщений: 43
27.02.2010, 23:39
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using System;
using System.Threading;
struct DoWorkData
{
public DoWorkData(int repetitions, char character)
{
_Repetitions = repetitions;
_Character = character;
}
public int Repetitions
{
get { return _Repetitions; }
}
private int _Repetitions;
public char Character
{
get { return _Character; }
}
private char _Character;
}
class PassingMultipleParametersUsingParameterizedThreadStart
{
public static void Main()
{
const int repetitions = 1000;
// DoWork() now matches the signature of
// ParameterizedThreadStart rather than ThreadStart.
Thread thread = new Thread(DoWork);
thread.Start( new DoWorkData(repetitions, '.') );
for (int count = 0; count < repetitions; count++)
{
Console.Write('-');
}
thread.Join();
}
public static void DoWork(object state)
{
DoWorkData data = (DoWorkData)state;
for (int count = 0; count < data.Repetitions; count++)
{
Console.Write(data.Character);
}
}
}
1
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 18
02.03.2010, 22:16  [ТС]
Цитата Сообщение от vetal-voyts Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using System;
using System.Threading;
struct DoWorkData
{
public DoWorkData(int repetitions, char character)
{
_Repetitions = repetitions;
_Character = character;
}
public int Repetitions
{
get { return _Repetitions; }
}
private int _Repetitions;
public char Character
{
get { return _Character; }
}
private char _Character;
}
class PassingMultipleParametersUsingParameterizedThreadStart
{
public static void Main()
{
const int repetitions = 1000;
// DoWork() now matches the signature of
// ParameterizedThreadStart rather than ThreadStart.
Thread thread = new Thread(DoWork);
thread.Start( new DoWorkData(repetitions, '.') );
for (int count = 0; count < repetitions; count++)
{
Console.Write('-');
}
thread.Join();
}
public static void DoWork(object state)
{
DoWorkData data = (DoWorkData)state;
for (int count = 0; count < data.Repetitions; count++)
{
Console.Write(data.Character);
}
}
}
Простите моё нубство но куда этот код всунуть ??
0
CEO
Эксперт С++
 Аватар для Alligieri
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
02.03.2010, 23:19
wwsetww, этот код вам подойдет только после сильной правки вообще - консольная программа, выводит "." 1к раз

На чем остановились? открылся проект?
0
13 / 12 / 1
Регистрация: 23.08.2008
Сообщений: 43
03.03.2010, 00:51
Прощаю. этот код показывает как передать данные в поток
0
CEO
Эксперт С++
 Аватар для Alligieri
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
03.03.2010, 01:46
Цитата Сообщение от vetal-voyts Посмотреть сообщение
Прощаю. этот код показывает как передать данные в поток
Извращенный ИМХО метод - больше привык к использованию ThreadStart без параметров, параметры передаю в атрибуты класса метод которого использую в потоке. Более контролированно как по мне. Но такой способ тоже знаю, проссто не нравится.
0
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 18
03.03.2010, 18:11  [ТС]
Цитата Сообщение от Alligieri Посмотреть сообщение
wwsetww, этот код вам подойдет только после сильной правки вообще - консольная программа, выводит "." 1к раз

На чем остановились? открылся проект?
нет но код вытащил с него пробую чтото делать но выходит сплошная ошибка )))
я непойму как зделать создание обьектом новых и к ним новых потоков с одним обектом боль мение понятно а как это создать хз посоветуйте чтото ?)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.03.2010, 18:11
Помогаю со студенческими работами здесь

Работа с потоками
У меня приложение через заданный интервал (в таймере) отправляет запрос на сайт и парсит ответ, при отправке запросов приложение подвисает,...

Работа с потоками
Здравствуйте. Проблема заключается в следующем, в параллельном потоке мне нужно чтобы label1 созданный в основном потоке, изменялся....

работа с потоками
При работе с методом выдает ошибку: &quot;Недопустимая операция в нескольких потоках: попытка доступа к элементу управления...

Работа с байтовыми потоками
Доброго времени суток. Столкнулся с такой проблемой , имеется файл(песня mp3) необходим считать из него скажем первые 10 байт и потом...

WinApi и работа с альтернативными файловыми потоками
Доброго времени суток. Пытаюсь разобраться с работой альтернативных файловых потоков в NTFS. Как я понял из C# с ними можно работать...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru