Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2017, 15:50   #11
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от komra2 Посмотреть сообщение
мне книжки не нужны, вся инфа в нете, или почти вся..
у вас нет основ алгоритмизации.
да и инфой вы не пользуетесь судя по тому что написали выше.
вам нужны основы алгоритмизации и программирования.
инфа в инете бесполезно, когда вы тупо копипастите.

мне просто вас жалко, вы уже не менее года сидите у плинтуса...к сожалению, но это факт.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.01.2017, 22:47   #12
komra2
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 733
По умолчанию

Написал тут такой простой пример, в комментариях написано что надо бы....
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication7
{
    class Program
    {
        static void Main(string[] args)
        {
            Thread th1 = new Thread(thread1);
            th1.Start();
        }
        static void thread1()
        {
            string a = Console.ReadLine();
            for(int i=0;i<=50;i++)
            {
                Console.WriteLine(i.ToString());
                if(i.ToString()==a)
                {
                    Console.WriteLine("thread1: "+i.ToString());
                    Console.ReadKey();
                }
                if (i.ToString() == "50")
                {
                    Thread th2 = new Thread(thread2);
                    th2.Start();
                }
            }
            



            for (int i = 250; i <= 300; i++)//....надо начать от сюда выполнять поток1 после завершение потока3...пропустив алгоритм выше
            {
                Console.WriteLine(i.ToString());
                if (i.ToString() == a)
                {
                    Console.WriteLine("thread2: " + i.ToString());
                    Console.ReadKey();
                }
                if (i.ToString() == "300")
                {
                    Thread th2 = new Thread(thread2);
                    th2.Start();
                }
            }
        }
        static void thread2()
        {
            string a = Console.ReadLine();
            for (int i = 50; i <= 100; i++)
            {
                Console.WriteLine(i.ToString());
                if (i.ToString() == a)
                {
                    Console.WriteLine("thread3: " + i.ToString());
                    Console.ReadKey();
                }
                if (i.ToString() == "100")
                {
                    Thread th3 = new Thread(thread3);
                    th3.Start();
                }
            }



            for (int i = 300; i <= 350; i++)//...после завершение потока3...потом надо выполнять алгоритм(цикл) который начинается с данной строки
            {
                Console.WriteLine(i.ToString());
                if (i.ToString() == a)
                {
                    Console.WriteLine(i.ToString());
                    Console.ReadKey();
                }
                if (i.ToString() == "350")
                {
                    Thread th2 = new Thread(thread2);
                    th2.Start();
                }//итд...
            }
        }
        static void thread3()
        {
            string a = Console.ReadLine();
            for (int i = 100; i <= 250; i++)
            {
                Console.WriteLine(i.ToString());
                if (i.ToString() == a)
                {
                    Console.WriteLine(i.ToString());
                    Console.ReadKey();
                }
                if (i.ToString() == "250")
                {
                    Thread th1 = new Thread(thread1);
                    th1.Start();//когда выполняется эта команда, то тогда выполняется поток1, но надо...
                }
            }
        }
    }
}
komra2 вне форума Ответить с цитированием
Старый 27.01.2017, 23:44   #13
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от komra2 Посмотреть сообщение
вся инфа в нете, или почти вся
Да, только в большинстве случаев вы не сможете найти нужную инфу без понимания хотя бы основ. А если и найдете, то не поймете и не сможете применить.

И откуда вы знаете, что не нужны? Как можно знать, что вам не нужно то, что вы не знаете?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 28.01.2017, 00:19   #14
komra2
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 733
По умолчанию

Тот пример что я написал, он не понятен ? Одной детали не хватает ток)
komra2 вне форума Ответить с цитированием
Старый 29.01.2017, 05:59   #15
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
если надо чтоб поток выполнял иное действие, передайте в него другой Action и все.
я ведь говорил.
вы можете создавать методы, и чтоб не дублировать код еще и вызывать метод из иного метода
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 14.02.2017, 17:17   #16
komra2
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 733
По умолчанию

Есть Class1.cs и есть Program.cs, в Program.cs есть строка writeline(":") и readkey(); В Class1.cs есть цикл:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

public class Class1
{
    public Class1()
    {
        for (int i = 0; i <= 3; i++)
        {

        }
    }
}
в файле Program.cs такой код:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(new Class1() + ":");
            Console.ReadKey();
        }
    }
}
Мне надо чтобы при запуске софта, на экране было вот так:
Код:
1:
2:
3:
Как надо сделать ?
komra2 вне форума Ответить с цитированием
Старый 14.02.2017, 17:24   #17
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Читать дальше про ООП и не пытаться использовать его так странно.

public Class1() это конструктор экземпляра класса.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TTimer в отдельный поток GoriZonTT C++ Builder 6 16.07.2013 14:58
ОтДельный поток StartMis Общие вопросы Delphi 10 22.02.2010 08:20
Как вынести пинг через IdIcmpClient в отдельный поток ? ewgenw Помощь студентам 1 11.05.2009 16:42
Отсылка почты через отдельный поток Hottabych Работа с сетью в Delphi 16 15.03.2008 11:31
Отсылка почты через отдельный поток Hottabych Работа с сетью в Delphi 0 11.03.2008 19:32