Форум программистов, компьютерный форум, киберфорум
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 13.03.2016
Сообщений: 3
1

Скажите правильно ли я считаю

13.03.2016, 17:47. Просмотров 592. Ответов 2
Метки нет (Все метки)


Нужно найти ошибку в коде и дать объяснение преподавателю, скажите правильно ли я считаю:

В этом примере программы нет критических ресурсов. Можно не использовать объект ядра Mutex, т.к. каждый поток использует свои ресурсы. Так же есть ошибке в предоставленном коде в параметрах вызова функций CreateMutex(NULL, FALSE, FALSE) в третьем параметре нужно указать NULL и после использований функций создания объектов ядра их описатели необходимо закрывать функциями CloseHandle(hMutex) для мьютекса и CloseHandle(hT) для потоков.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
HANDLE hMutex[] = {CreateMutex(NULL, FALSE, FALSE), CreateMutex(NULL, FALSE, FALSE)};
 
DWORD __stdcall Process(LPVOID)
{
  int i=10; int j=20;
 
  WaitForMultipleObjects(2, hMutex, FALSE, INFINITE);
  int t = i+j;
  ReleaseMutex(hMutex);
  
  return 0;
}
 
void main()
{
  HANDLE hT[2];
  for (int t=0; t<2; t++)
     hT[t] = CreateThread(NULL, 0, Process, NULL, 0, NULL);
  return; 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2016, 17:47
Ответы с готовыми решениями:

Правильно ли я считаю вероятность события?
Добрый день! Подскажите я правильно считаю вероятность события. Есть колода карт из 52 штук...

Правильно ли я понимаю ссылки и указатели. Работу с ними. Я сам прокомментировал код. Скажите правильно или нет.
#pragma once namespace Casper { class Cat { private: unsigned int age; float weight;

Скажите, что не правильно
в строке (white('Введите поздравление'); ) пишет, что ожидалось имя процедуры или функции ...

Скажите, что не правильно
Скажите, пожалуйтса, что неправильно в проге... Пишет: &quot;Проверяющая программа не смогла прочесть...

2
897 / 418 / 159
Регистрация: 02.04.2014
Сообщений: 1,206
13.03.2016, 22:29 2
Еще подозрительно выглядит использование функции WaitForMultipleObjects. Она ждет получения одного из двух мьютексов, а дождавшись всегда освобождает первый элемент массива ReleaseMutex(hMutex); Надо проверять, что вернула WaitForMultipleObjects:
C++
1
2
3
4
5
6
7
8
9
10
11
DWORD dwEvent = WaitForMultipleObjects(...);
switch (dwEvent) 
{
    case WAIT_OBJECT_0 + 0: 
    ReleaseMutex(hMutex[0]);
    break; 
 
        case WAIT_OBJECT_0 + 1: 
    ReleaseMutex(hMutex[1]);
    break; 
...
1
0 / 0 / 1
Регистрация: 13.03.2016
Сообщений: 3
13.03.2016, 23:34  [ТС] 3
Моя версия кода программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DWORD __stdcall Process(LPVOID)
{
  int i=10; int j=20;
  int t = i+j;
  
  return 0;
}
 
void main()
{
  HANDLE hT[2];
  for (int t=0; t<2; t++)
     hT[t] = CreateThread(NULL, 0, Process, NULL, 0, NULL);
 
  for (int z=0; z<2; z++) CloseHandle(hT[z]);
  return; 
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2016, 23:34

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Скажите, правильно ли я решила интеграл?
надо вычислить

Скажите, что тут не правильно?
&lt;?php $pages = array('index'=&gt;1,'page'=&gt;2,'portfolio'=&gt;3,'articles'=&gt;4,'contact'=&gt;5); $link =...

СКАЖИТЕ ПРАВИЛЬНО И УКАЖИТЕ ОШИБКИ
{ Приветствие } var name: string; { имя пользователя } begin writeln ( 'Как Вас зовут?');...

Скажите, пожалуйста, программа правильно работает?
Это метод Ньютона,не знаю как его проверить.( Program Project122; var a,b,eps,dx,x:real;...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.