LinuxForum.Fans
Тема

Нужен пример реализации многопоточности на C под Debian(GCC v4.4.X)

Автор: webber 5 сообщений 2357 просмотров
#312652

Нужен пример реализации многопоточности на C под Debian(GCC v4.4.X)

Желательно очень простой и без лишнего кода например умножение матриц

#include <pthread.h> с использование данной библиотеки

int Msize = 200; размер матрицы

int Pcount = 4; количество потоков

C[Msize][Msize] = A[Msize][Msize] * B[Msize][Msize]

Ну примерно так!

Ну или просто пример создания потоком с заданным числом потоков!!!



Заранее спасибо! ;)

#312673
text

#include <pthread.h>
#include <stdio.h>

void *my_funct (void *arg) { int loc_x = *(int*)arg; printf ("i'm thread"); }

int main(int argc, char *argv[]) { int x; pthread_t thread; for (int i=0; i< 3; i++) pthread_create(&thread, NULL, my_funct, &x); }

Создание потоков, в самом простом виде. Но я могу ошибаться в передачи параметра 'х' потоку

#312797

А можно пример компиляции а то там вить вроде чет нужно указать для pthread.h какие именно ключи ?

text
joy@debian:~/dev$ gcc -Wall -std=c99 -o ee ee.c
ee.c: In function ‘my_funct’:
ee.c:5: warning: unused variable ‘loc_x’
ee.c:7: warning: control reaches end of non-void function
/tmp/ccssMBpI.o: In function `main':
ee.c:(.text+0x5a): undefined reference to `pthread_create'
collect2: ld returned 1 exit status
joy@debian:~/dev$

пользуйтесь тегом [сode] или [сonsole].

#312904
"webber⇓" написал:
joy@debian:~/dev$ gcc -Wall -std=c99 -o ee ee.c

-lpthread добавь...

Войдите или зарегистрируйтесь, чтобы ответить.