pthread

points
[질문] 급... 로직을 어떻게 해야 할지...
Submitted by letitbe21 on 월, 2007/08/20 - 5:28pm.로직을 어떻게 새워야 할지 몰라서 질문 드립니다.
많은 양의 데이터가(각 전문 마다 8KByte) 초당 500 건정도 들어 옵니다.
클라이트 프로그램에서 socket를 통해서 데이터를 보내면 스레드를 생성(main 스레드) 시켜,

points
[완료]쓰레드 에서 exit 를 호출한 경우 메모리 문제
Submitted by kgykingdom on 월, 2007/08/06 - 4:54pm.안녕하십니까? KLDP 에서 여러모로 도움만 받고 있네요. ㅋ
메인 쓰레드에서 1~10 까지 쓰레드를 생성했다고 보고, 만약 3번 쓰레드가 어떠한 시그널을 받아 프로그램을 종료해야 하는 상황에 직면한다면

points
pthread의 주기설정을 할 수 있습니까?
Submitted by gelfosman on 일, 2007/08/05 - 10:47pm.제가 하고싶은 것은,
pthread_creat를 통해 생성된 쓰레드가 하나 있습니다. 이놈을
20ms단위로 깨어나서 동작하게 하고 싶습니다. 그러니까
block되어 있다가, 20ms가 지나면 할당된 큐에 머 처리할게 없나...한번 살펴보고

points
배포판에 따라 실행되지 않는문제
Submitted by merely_c on 수, 2007/05/09 - 8:01pm.[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);

points
pthread, 언제 어떻게 실행되는 건가요 ?
Submitted by bushi on 금, 2007/04/13 - 8:06pm.
#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++) {

points
pthread에서 현재 다른 쓰레드로의 context전환을 막는 방법은?
Submitted by jj on 화, 2007/01/16 - 12:27am.안녕하세요?
간단한 RTOS용 프로그램을 linux로 포팅하고 있습니다. 해당 OS는 vxworks였습니다.
RTOS의 task들을 linux에서 thread로 맵핑하고 있습니다. pthread 인터페이스를 사용하고 있구요.
vxworks의 task들이 전역변수를 공유해서, 자연스럽게 thread로 맵핑이 되지요.

points
pthread에서 시그널처리 - sigwait()함수가 모든 시그널을 다 대기시킵니다.
Submitted by hayarobi on 금, 2006/11/17 - 3:22pm.제가 시그널 처리를 특정 쓰레드에서 해 보려고 코드를 작성해 봤습니다.
메인 쓰레드에서 pthread_sigmask로 검출하려는 시그널을 막고 막은 시그널을 하위쓰레드나 메인 쓰레드에서 sigwait()함수로 검출해 내는 방식이었죠. 이 방법이 검출하는 시그널에서는 문제가 없이 잘 돌아가는데 그 외의 시그널들에서 문제가 생기네요. sigwait함수가 대기중일 때에는 핸들러가 동작이 안 되다가 대기가 풀릴 때, 그러니까 sigwait()함수가 검출하는 시그널이 들어온 시점에서 다른 시그널 핸들러도 동작을 했습니다.
