#include <rtthread.h>
#define THREAD_PRIORITY 8
#define THREAD_TIMESLICE 5
ALIGN(RT_ALIGN_SIZE)
static char thread1_stack[1024];
static void rt_thread_entry1(void *parameter)
{
while (1)
{
number1++;
number2++;
}
}
ALIGN(RT_ALIGN_SIZE)
static char thread2_stack[1024];
static void rt_thread_entry2(
void *
parameter)
{
while (1)
{
if (number1 != number2)
{
rt_kprintf(
"not protect.number1 = %d, mumber2 = %d \n", number1, number2);
}
else
{
rt_kprintf(
"mutex protect ,number1 = mumber2 is %d\n", number1);
}
number1++;
number2++;
if (number1 >= 50)
return;
}
}
int mutex_sample(void)
{
{
return -1;
}
"thread1",
rt_thread_entry1,
&thread1_stack[0],
sizeof(thread1_stack),
THREAD_PRIORITY, THREAD_TIMESLICE);
"thread2",
rt_thread_entry2,
&thread2_stack[0],
sizeof(thread2_stack),
THREAD_PRIORITY - 1, THREAD_TIMESLICE);
return 0;
}