×
Namespaces

Variants
Actions

Exemplos de memória compartilhada

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

Artigo
Tradução:
Por kyllercg
Última alteração feita por hamishwillee em 09 Dec 2011



Memória compartilhada

O código a seguir mostra como usar memória compartilhada.

#include <sys/shm.h>
#include <string.h>
#include <pthread.h>
 
pthread_t threadid;
#define SHM_KEY 1000
 
void* ShmReadThread(void* arg)
{
int shmid = shmget(SHM_KEY, 1024, IPC_CREAT);
char* ch = (char*)shmat(shmid, 0, 0);
char name[10];
strncpy(name, ch, 3);
// nome armazenado "abc"
shmdt(ch);
return 0;
}
 
void CreateThreadL()
{
pthread_create(&threadid,(pthread_attr_t *)NULL,ShmReadThread, NULL);
}
 
int main()
{
char* ch;
int shmid = shmget(SHM_KEY, 1024, IPC_CREAT);
int threadRetVal = 0;
if( shmid == -1)
return -1;
ch = (char*)shmat(shmid, 0, 0);
if((int)ch == -1)
{
shmctl(shmid, IPC_RMID, NULL);
return -1;
}
strcpy(ch, "abc");
CreateThreadL();
 
pthread_join(threadid, (void**)threadRetVal);
shmdt(ch);
shmctl(shmid, IPC_RMID, NULL);
return 0;
}


Links relacionados

This page was last modified on 9 December 2011, at 04:24.
60 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×