생성은 기본 설정으로
한다. 내부의 작동은 과제#3에서 작성한 프로그램과 동일하다.
1.2 소스코드
#include
#include
#include
pthread_mutex_t mutexChopstick[5];
pthread_t threadnum[5];
int g_id=1;
void *philosopher(void *);
int main(void)
{
int index;
for(index=0;index<5;index++)
pthread_mutex_init(mutex
생성 시
인자 값을 포인터로 넘겨주기 때문에 동기화 문제가 생길 수도 있다.
각 Thread는 5번의 작업을 하면 종료하게 되어 있으며, 생성은 기본 설정으로
한다. 내부의 작동은 과제#3에서 작성한 프로그램과 동일하다.
1.2 소스코드
#include
#include
#include
pthread_mutex_t mutexChopstick[5];
pthread_t threadnum[5]
소스파일 생성파일 이다.
(확장자까지 붙여야 함)
2. 알고리즘
전체 알고리즘은 책의 의사 코드를 바탕으로 작성하였다.
- 1 Pass
asm 을 한 줄씩 읽으면서 공백이나 tab으로 나누어서 해석한다.
SYMBOL을 만날 때는 LOCCTR과 함께 SYMTAB에 저장하고 OPCODE 와 OPERAND를 파악해서 다음 LOCCTR을 계산한다.
계산된
생성자(constructor)는 클래스에 의해 객체가 생성될 때 수행할 작업을 정의하는 특수한 멤버함수로, 객체를 정의하는 문장에 의해 자동적으로 호출된다. 생성자는 일반적으로 객체의 데이터 멤버를 초기화하는 용도로 사용된다. 생성자 선언은 일반 멤버함수와 유사하게 선언된다. 단, 생성자의 이름은