嵌入式Linux应用程序开发——多线程2(线程的同步——互斥锁)
来源:互联网 发布:应该妻子漂亮知乎 编辑:程序博客网 时间:2024/05/01 23:03
/*pthread2.c*/
#include <pthread.h>
#include <stdlib.h>#include <unistd.h>
#include <stdio.h>
int global;
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;//静态初始化互斥锁
void *thread_function(void *arg)
{
int i,j;
for(i=0;i<10;i++)
{
pthread_mutex_lock(&mutex);//上锁
j = global;
j++;
printf("-");
fflush(stdout);
global = j;
usleep(10000);
pthread_mutex_unlock(&mutex);//解锁
}
return NULL;
}
int main(void)
{
pthread_t th_new;
int i;
setbuf(stdout,NULL);
if(pthread_create(&th_new,NULL,thread_function,NULL))
{
perror("error creating thread.");
abort();
}
for(i=0;i<10;i++)
{
pthread_mutex_lock(&mutex);
global++;
pthread_mutex_unlock(&mutex);
printf("m");
fflush(stdout);
usleep(10000);
}
if(pthread_join(th_new,NULL))
{
perror("error joining thread");
abort();
}
printf("\n result is :%d\n",global);
exit(0);
}
- 嵌入式Linux应用程序开发——多线程2(线程的同步——互斥锁)
- 嵌入式Linux应用程序开发——多线程3(线程的同步——条件变量)
- 嵌入式Linux应用程序开发——多线程4(线程的同步——信号量)
- 嵌入式Linux应用程序开发——多线程1(线程的创建和等待)
- Java多线程开发五——线程的同步
- Linux多线程——使用互斥量同步线程(2)
- Linux多线程——使用互斥量同步线程(2)
- 多线程——线程同步
- Java多线程——线程同步(2)
- 多线程编程2——线程同步
- 多线程开发学习笔记之线程同步——互斥量
- 多线程开发学习笔记之线程同步——信号量
- 多线程开发学习笔记之线程同步——事件
- Linux多线程——使用信号量同步线程
- Linux多线程——使用互斥量同步线程
- Linux多线程——使用互斥量同步线程
- Linux多线程——使用互斥量同步线程
- Linux多线程——使用互斥量同步线程
- RCP程序发布到不同的平台
- easyUI datetimebox 自定义显示格式
- linux上ln命令详细说明
- C# 异常处理[转]
- 当javaScript从入门到提高前需要注意的细节:对象部分
- 嵌入式Linux应用程序开发——多线程2(线程的同步——互斥锁)
- Bootable, TCP/IP network-capable DOS floppy
- C语言之常指针
- ubuntu 中文 小方框问题
- 电影词汇,让你成为电影通
- 琉球群岛
- request,response,session,out,pagecontext
- 用php+mysql+json+js+ajax实现省市县三级联动
- python 运算符详解