Форум программистов, компьютерный форум CyberForum.ru

Потоки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ фаил! что от меня хотят?! http://www.cyberforum.ru/cpp-beginners/thread245510.html
:D это задание моего варианта по пяву но дело вовсе не в том что я не могу решить.... я даже понять задание толком не могу...:yahoo: 1.Моделирование распределения памяти в операционной системе. Дан линейный односвязный список свободных блоков памяти (адрес начала блока, размер блока). На входе подается запрос на блок памяти определенного размера. Требуется найти в списке первый подходящий...
C++ Обход бинарного дерева Прошу Вас, помогите школьнику, незнающему деревья, завтра срочно надо сдать работу, я никак не могу реализовать... 1. В заданном бинарном дереве подсчитать число его листьев и напечатать их значения: а) при прямом обходе дерева; б) при обратном обходе дерева; в) при концевом обходе дерева; г) реализуя обход, рекурсивно. 2. В заданном бинарном дереве найти первое вхождение заданного... http://www.cyberforum.ru/cpp-beginners/thread245508.html
C++ Ввести два числа типо unsighed short,распечатать число,которое содержит в младшем байте большее значение
Ввести два числа типо unsighed short,распечатать число,которое содержит в младшем байте большее значение
C++ visual C++ 7.0
Всем привет! Дайте пожалуйста ссылку на скачивание visual C++ 7.0 ?
C++ Параметры по умолчанию в С. http://www.cyberforum.ru/cpp-beginners/thread245491.html
Всем привет! Захотел воспользоватся параметрами по умолчанию в си-шном проекте. И получил следующие ошибки: 1>..\project\project.c(45) : error C2143: syntax error : missing ')' before '=' 1>..\project\project.c(45) : error C2072: 'myfunc' : initialization of a function 1>..\project\project.c(45) : error C2059: syntax error : ')' Действительно данный функционал я могу использовать только в...
C++ Внутpеннее устpойство шаблона Iterator<T> Dобpого вpемени суток . Jотелось бы понять кaк устpоен мехaнизм итеpaтоpов типa STL изнутpи . исходя из способa объявления : Vector<int>::Iterator p ; //нaпpимеp пpихожу к выводу , что итеpaтоp этот является членом контейнеpного клaссa , с типом дaнных по умолчaнию . если б пеpедо мной встaлa зaдaчa это pеaлизовaть , непpемменно сделaл бы вот тaк : подробнее

Показать сообщение отдельно
FuKingBrain
52 / 51 / 3
Регистрация: 29.11.2010
Сообщений: 132
20.02.2011, 09:07     Потоки
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
int b[2]={0,0}; 
int sum=0;
 
 
void enterCS3(int p)
{
    MemoryBarrier();
    b[p]=1;
    MemoryBarrier();
    while(b[1-p])
    {       
        MemoryBarrier();
        b[p]=0;
        Sleep(rand()%10);
        MemoryBarrier();
        b[p]=1;
    }
}
 
void leaveCS3(int p)
{
    MemoryBarrier();
    b[p]=0;
}
 
DWORD WINAPI Thread3(void*p)
{
    for(int i=0;i<10000000;i++)
    {
        enterCS3(1);
        MemoryBarrier();
        sum++;
        char buf[100];
        itoa(sum, buf, 10);     
        buf[0]='1';
        buf[1]='_';
        printf("%s\n",buf);     
        leaveCS3(1);
    }
    return 0;
}
 
DWORD WINAPI Thread3_4(void*p)
{
    for(int i=0;i<10000000;i++)
    {
        enterCS3(1);
        MemoryBarrier();
        sum++;
        char buf[100];
        itoa(sum, buf, 10);     
        buf[0]='2';
        buf[1]='_';
        printf("%s\n",buf);
        leaveCS3(1);
    }
    return 0;
}
 
int main()
{
    HANDLE h; // указатель на поток, семафор, мьютекс и пр.
    HANDLE h1;
    h=CreateThread(NULL,0,Thread3,NULL,0,0); 
    h1=CreateThread(NULL,0,Thread3_4,NULL,0,0); 
}
Вопрос к знатокам:
В каком случае вероятность появлении ошибки:
1. Если в процедуре enterCS3 стоит Sleep(rand()%10);
2. Если в процедуре enterCS3 стоит Sleep(10);

Моё мнение такого что при Sleep(10); потоки ни когда не пересекутся и будут работать параллельно. Если же будет написано Sleep(rand()%10); то вероятность пересечения есть. Прав ли я? И можно как-нибудь создать такой пример чтоб потоки пересеклись?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru