19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
1

C++ Многопоточность

21.01.2010, 14:08. Показов 1552. Ответов 2
Метки нет (Все метки)

Как сделать так, чтобы эта программа заработала?

А то она мне вот что пишет:
Bash
1
2
3
g++ test.cpp -o test -lpthread
./test
Segmentation fault
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
#include <pthread.h>
#include <iostream>
using namespace std;
#include <stdlib.h>
#include <unistd.h>
 
void *run(void *param);
 
int main(int argc, char *argv[])
{
    //First we take the input of argv[1] and convert it to an integer type.
    //Also iCounter will be our counter for amount of threads.
    int iAmtOfThrds = atoi(argv[1]), iCounter;
 
    pthread_t tid[100]; //Thread id array for 'x' amount of threads.
    pthread_attr_t attr; //Thread attributes
    pthread_attr_init(&attr); //Initial thread attributes
 
    //Start for...loop to create 'x' amount of threads
    //Then pass it to the run() function.
    for(iCounter = 0; iCounter < iAmtOfThrds; iCounter++)
    pthread_create(&tid[iCounter], &attr, run, argv[1]); //Create a new thread multiple times
 
    //Start for...loop to wait for each thread to finish
    for(iCounter = 0; iCounter < iAmtOfThrds; iCounter++)
    pthread_join(tid[iCounter], NULL); //Wait for the new thread to finish
}
     
void *run(void *param)
{
    cout << "Starting New Thread.\n";
    sleep(10);//System Call to let the thread sleep for 10 seconds.
    cout << "Thread finished, exiting function.\n";
    pthread_exit(0);//Exits thread.
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.01.2010, 14:08
Ответы с готовыми решениями:

Многопоточность и процессы
Начал изучать многопоточность и реализацию ее на плюсах. Посоветуйте толковую литературу с хорошими...

Многопоточность [Теория]
Всем привет. Что создается конструктивно в памяти при многопоточности(конкретно при инициализации...

THREAD.H (многопоточность)
нужно срочно разобраться в этой теме, но компилятор не находит THREAD.H #include &lt;thread&gt; ...

Неблокирующие алгоритмы на C++, многопоточность
Добрый день! Прошу помочь понять задание. Я новичок. Тема: неблокирующие алгоритмы. Задание...

2
576 / 570 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
21.01.2010, 14:13 2
Bash
1
2
g++ -o proga proga.cpp -lpthread
./proga 2
Добавлено через 3 минуты
У тебя нет проверки на число аргументом командной строки.
1
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
21.01.2010, 15:33  [ТС] 3
>> Gravity

Спасибо. Не ожидал, что допустил такую глупую ошибку.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.01.2010, 15:33

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Многопоточность
Имеется приложение на Си в VS 2008. Приложение может создать большое количество экземпляров...

Многопоточность
Товарищи! Создаю 23 потока. вот так: ff1 = new f1(false); ff1-&gt;Priority = tpLower;...

Многопоточность в C++ и C++11
как я понял, многопоточность появилась в С++11 cтандарте. Почитал что его вроде как visual studio...

Многопоточность в QT
Нужно мне написать консольную программу, которая выводит на экран оптимальное количество потоков,...

Многопоточность
Столкнулся с проблемой, что не совсем понимаю, что такое многопоточность. С многозадачностью все...

Многопоточность
Есть задание: Написать и протестировать функцию, которая находит в массиве минимальный по модулю...


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

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

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