elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Duda con un ejercicio en: 21 Abril 2013, 13:29 pm
Por lo que he podido deducir es un tema tipico de multithreads llamado Producer-Consumer.

Pero viendo el codigo, no veo que este mal implementado. Sin embargo, el enunciado me pide qeu encuentre que es lo q esta mal.
2  Programación / Programación C/C++ / Duda con un ejercicio en: 20 Abril 2013, 13:13 pm
Hola,

tengo que encontrar que es lo que no va bien en este ejercicio pero no hay manera...

Intuyo que es algo de threads pero no domino casi nada el tema...

Si alguien me pudiera echar un cable, almenos para sber por dnd tirar...

Grcias!!!

Os pongo el ejercicio:

¿Que falla en este código? ¿Y por qué?

#include <QtCore>

#include <stdio.h>
#include <stdlib.h>

const int DataSize = 100000;
const int BufferSize = 8192;
char buffer[BufferSize];

QWaitCondition bufferNotEmpty;
QWaitCondition bufferNotFull;
QMutex mutex;
int numUsedBytes = 0;

class Producer : public QThread
{
public:
void run();
};

void Producer::run()
{
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));

for (int i = 0; i < DataSize; ++i) {
mutex.lock();
if (numUsedBytes == BufferSize)
bufferNotFull.wait(&mutex);
mutex.unlock();

buffer[i % BufferSize] = "ACGT"[(int)qrand() % 4];

++numUsedBytes;
bufferNotEmpty.wakeAll();
}
}

class Consumer : public QThread
{
public:
void run();
};

void Consumer::run()
{
for (int i = 0; i < DataSize; ++i) {
mutex.lock();
if (numUsedBytes == 0)
bufferNotEmpty.wait(&mutex);
mutex.unlock();

fprintf(stderr, "%c", buffer[i % BufferSize]);

--numUsedBytes;
bufferNotFull.wakeAll();
}
fprintf(stderr, "\n");
}

int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
Producer producer;
Consumer consumer;
producer.start();
consumer.start();
producer.wait();
consumer.wait();
return 0;
}
3  Programación / Programación C/C++ / Re: Duda sobre progrmacion C++ en: 18 Abril 2013, 17:45 pm
jeje

Pero gracias igualmente porque al principio no sabia ni por donde buscar!!
4  Programación / Programación C/C++ / Re: Duda sobre progrmacion C++ en: 18 Abril 2013, 17:38 pm
Si, pero viendo la pagina esta que he puesto parece que sean iguales la primera y la tercera:

Lo que yo he puesto:

1) const A * function();
2) A* const  function();
3) A const * function();

Segun la pagina:

puntero a constante:

tipoX const * puntero ... ;  = 3) 
const tipoX * puntero ... ;  = 2)

puntero constante:

tipoX * const puntero ... ; = 1)

no?
5  Programación / Programación C/C++ / Re: Duda sobre progrmacion C++ en: 18 Abril 2013, 17:13 pm
La primera es una funcion que devuelve un puntero a un objeto constante.

La segunda es una función que devuelve un puntero constante.

La tercera es una variedad sintáctica de la segunda (se te permite poner el * en el tipo o en el const).

Una pregunta:

la tercera es una variedad sintactica de la segunda o de la primera?

Es que he visto esta web: http://www.zator.com/Cpp/E4_2_1e.htm

Y me ha parecido esto.

Gracias!!
6  Programación / Programación C/C++ / Re: Duda sobre progrmacion C++ en: 18 Abril 2013, 16:54 pm
que cracks!!!

Muchas gracias a todos!

7  Programación / Programación C/C++ / Duda sobre progrmacion C++ en: 18 Abril 2013, 13:53 pm
Alguien sabe cuál es la diferencia entre estas tres funciones?
const A * function();
A* const  function();
A const * function();


Gracias por adelantado!!
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines