[ Foro de C ]

Dificultad para econtrar información útil sobre hilos en Debian

07-Feb-2021 15:39
Invitado (Iv?n rodellas garc?a)
1 Respuestas



Nada eso de programar en C/C++, es más facil en freeBSD, por que tiene ports.

Tengo Linux debian 10.7, y freeBSD 12, freeBSD 12.1 no me entrar como root en mate, tengo entrar en modo rescate  y configurar el teclado en castellano en rc.conf, de momento no lo configure en castellano, ingles muy alto no nativo.

Eso de C/C++, perl, y otros lenguajes en los Unix es maraviloso.

Tengo 13 ordenadores.

Hp-ux unix, es de pago, tambien es de pago aix, y lo es Sco Unix; conoce alguien del foro que me pueda hacer copias 3 de Unix comerciales.

Da gusto trabajar con Imac y mac pro, tengo  Imac y un Mac pro de 18 kilos.

freeBSD, netBSD,openBSD, son gratis y son gpl, uso eso.

Uso debian hurd, ubuntu, slackware, solaris.

Soy fan de los Unix system V y BSD.

Tenía 21 años, y a los 3 meses sabía lo mismo que un ingeniero técnico en el año 1997, tenía un pentium 133, del spectrum 128k y dragon 64k, y cintas de casete a tener tecnologia 5D(Dvd's de cuarzo).

Tengo tecnologia 5D, ufff, mi padre se muere del corazon. Una pregunta por que no nos pone un foro de soporte para hablar de Unix system V y BSD, un foro de ingeneria de redes.

Uso 150 protocolos de los 1024, que debe haber, ssh, telnet, ftp, whois, finger, vpn.

Por que no nos pone un foro para hablar de routers cisco, eso lo soporta freeBSD, pienso comprar un router cisco para enroutar 16 leonovo de 6500, con 128gb de ram, pienso comprar 16 portatiles pero leonovo.

Peo para enroutar 16 portatiles, cuantos puertos tengo que habrir con un router cisco para enroutar al resto.

Me dice en que web habla de todos los protocolos como kerberos, x3270, eso de x3270 es para teminales IBM.

https://linux.die.net/man/1/x3270

Luego lo leo, haga ejemplos de hilos para gcc de debian


Lab3: Programando con Hilos
Objetivos
Escribir multiprogramas que intercambien información y se sincronicen utilizando POSIX Threads (pthreads), contemplando  los problemas típicos de la concurrencia como condiciones de carrera, abrazos mortales, inhanición, etc.
Introducción

En el Laboratorio anterior utilizamos las facilidades de concurrencia de gruesa granularidad de UNIX. Creabamos y esperábamos la finalización de procesos que se ejecutaban en espacios de memoria disjuntos, y donde sólo se compartían los descriptores de archivos














noentras2@debian:~/humillacion6$ ls hilos*
hilos1.c  hilos3.c  hilos.c
noentras2@debian:~/humillacion6$ gcc -Wall hilos3.c -o hilos3
/usr/bin/ld: /tmp/ccNCjDtN.o: en la función `main':
hilos3.c:(.text+0x2d): referencia a `pthread_create' sin definir
/usr/bin/ld: hilos3.c:(.text+0x44): referencia a `pthread_create' sin definir
collect2: error: ld returned 1 exit status
noentras2@debian:~/humillacion6$ g++ -Wall hilos3.c -o hilos3
/usr/bin/ld: /tmp/cctrwuGv.o: en la función `main':
hilos3.c:(.text+0x2d): referencia a `pthread_create' sin definir
/usr/bin/ld: hilos3.c:(.text+0x44): referencia a `pthread_create' sin definir
collect2: error: ld returned 1 exit status
noentras2@debian:~/humillacion6$ g++ hilos3.c -o hilos3
/usr/bin/ld: /tmp/ccE9BDGl.o: en la función `main':
hilos3.c:(.text+0x2d): referencia a `pthread_create' sin definir
/usr/bin/ld: hilos3.c:(.text+0x44): referencia a `pthread_create' sin definir
collect2: error: ld returned 1 exit status
noentras2@debian:~/humillacion6$ cat hilos3.c
#include <stdio.h>
#include <assert.h>
#include <pthread.h>

//compilacion condicional
#define __DEBUG

void *IncrDecr(void *);

//la variable global y compartida
int x=0;

int main(int argc, char *argv[]) {
           pthread_t t0id,t1id;

           pthread_create(&t0id, NULL, IncrDecr, NULL);
           pthread_create(&t1id, NULL, IncrDecr, NULL);
   #ifdef __DEBUG
           printf("Hilos Creados\n");
           printf("Inicio de sonda de testeo\n");
   #endif
           //sonda que comprueba el Invariante
           while(1) {
                   assert(0<=x && x<=2); // Inv: 0<=x<=2
                   printf("%2d", x);
           }
           //aqui nunca llega
   }


//componente del multiprograma
void *IncrDecr(void *arg)
{
#ifdef __DEBUG
        printf("Hilo IncrDecr iniciado\n");
#endif
        for (;;) {
                   x = x+1;
                   x = x-1;
        }
}


08-Feb-2021 22:28
Invitado (cansimiro)

hola iván

quizás en
https://www.youtube.com/playlist?list=PLn9-gi1mj5U7K_Ke9N3uqOFdzNnHUpHhl

encuentres algo útil

chao ;-)






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)