|
Thread-Local Storage
in Pthreads |
|
Prof. David Bernstein |
| Computer Science Department |
| bernstdh@jmu.edu |
__thread specifier
immediately after the static or extern
specifier (note that there are two underscores)#include "grader.h"
#include <pthread.h>
#include <string.h>
static __thread char letter[2];
char
*letter_grade(float number_grade)
{
if (number_grade >= 90.0) strncpy(letter, "A", 1);
else if (number_grade >= 80.0) strncpy(letter, "B", 1);
else if (number_grade >= 70.0) strncpy(letter, "C", 1);
else if (number_grade >= 60.0) strncpy(letter, "D", 1);
else strncpy(letter, "F", 1);
letter[1] = '\0';
return letter;
}