Потоки в C, C++, C++ 0x, pthread и повышение

Вот пример наличия двух перечислений в различных пространствах имен:

using TotallyDifferentNameSpace.Enums;

namespace EnumEx
{
    class Program
    {
        static void Main(string[] args)
        {
            CarType car = CarType.Audi;
            PetrolType pType = PetrolType.Diesel;
        }
    }

    public enum CarType
    {
        Volkswagen,
        Audi,
        Toyota,
        Ford,
        Porsche,
        Lada
    }
}

namespace TotallyDifferentNameSpace.Enums
{
    public enum PetrolType
    {
        Gasoline,
        Diesel
    }
}
8
задан Andres Jaan Tack 29 March 2011 в 11:26
поделиться

2 ответа

В каждом Если вы создали два дополнительных потока, значит, у вас есть три (x, y и main). Вы получите разные идентификаторы для каждого из потоков, включая вызов в main.

25
ответ дан 5 December 2019 в 06:38
поделиться

Главный поток всегда присутствует, и вы создаете дополнительные новые потоки. Если основной поток умирает, программа умирает или поведение не определено. Также можно начать с большого количества потоков, поскольку среда выполнения может запускать (и часто будет - как реализация linux_threads "pthreads") потоки сами по себе.

Вызов yield всегда возможен, поскольку он просто сообщает ОС, что он может оставшуюся часть времени передать другому потоку, если есть поток с таким же или более высоким приоритетом. Если вы не пишете функции синхронизации низкого уровня, такие как спин-блокировки, нет реальной причины вызывать yield в вашем приложении.

0
ответ дан 5 December 2019 в 06:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: