pthread

[질문] 급... 로직을 어떻게 해야 할지...

0
points

로직을 어떻게 새워야 할지 몰라서 질문 드립니다.

많은 양의 데이터가(각 전문 마다 8KByte) 초당 500 건정도 들어 옵니다.

클라이트 프로그램에서 socket를 통해서 데이터를 보내면 스레드를 생성(main 스레드) 시켜,

[완료]쓰레드 에서 exit 를 호출한 경우 메모리 문제

2
points

안녕하십니까? KLDP 에서 여러모로 도움만 받고 있네요. ㅋ

메인 쓰레드에서 1~10 까지 쓰레드를 생성했다고 보고, 만약 3번 쓰레드가 어떠한 시그널을 받아 프로그램을 종료해야 하는 상황에 직면한다면

pthread의 주기설정을 할 수 있습니까?

0
points

제가 하고싶은 것은,
pthread_creat를 통해 생성된 쓰레드가 하나 있습니다. 이놈을
20ms단위로 깨어나서 동작하게 하고 싶습니다. 그러니까
block되어 있다가, 20ms가 지나면 할당된 큐에 머 처리할게 없나...한번 살펴보고

배포판에 따라 실행되지 않는문제

0
points

[code]#include
#include
#include

int ncount; // 쓰레드간 공유되는 자원
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; // 쓰레드 초기화

void* do_loop(void *data)
{
int i;

pthread_mutex_lock(&mutex); // 잠금을 생성한다.
for (i = 0; i < 10; i++)
{
printf("loop1 : %d", ncount);

bushi의 이미지
5278
points

pthread, 언제 어떻게 실행되는 건가요 ?

0
points

#include #include #include

static int ncount;
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;

struct loops_s {
const char *name;
void *data;
};

void *do_loop(void *data)
{
int i;
struct loops_s *lop = (struct loops_s *)data;
int id = *(int*)(lop->data);
int mydata;

for (i = 0; i < 3; i++) {

jj의 이미지
4225
points

pthread에서 현재 다른 쓰레드로의 context전환을 막는 방법은?

0
points

안녕하세요?

간단한 RTOS용 프로그램을 linux로 포팅하고 있습니다. 해당 OS는 vxworks였습니다.

RTOS의 task들을 linux에서 thread로 맵핑하고 있습니다. pthread 인터페이스를 사용하고 있구요.

vxworks의 task들이 전역변수를 공유해서, 자연스럽게 thread로 맵핑이 되지요.

hayarobi의 이미지
4121
points

pthread에서 시그널처리 - sigwait()함수가 모든 시그널을 다 대기시킵니다.

0
points

제가 시그널 처리를 특정 쓰레드에서 해 보려고 코드를 작성해 봤습니다.

메인 쓰레드에서 pthread_sigmask로 검출하려는 시그널을 막고 막은 시그널을 하위쓰레드나 메인 쓰레드에서 sigwait()함수로 검출해 내는 방식이었죠. 이 방법이 검출하는 시그널에서는 문제가 없이 잘 돌아가는데 그 외의 시그널들에서 문제가 생기네요. sigwait함수가 대기중일 때에는 핸들러가 동작이 안 되다가 대기가 풀릴 때, 그러니까 sigwait()함수가 검출하는 시그널이 들어온 시점에서 다른 시그널 핸들러도 동작을 했습니다.

내용묶음