学东西,往往实例才是最让人感兴趣的,老是学基础理论,不动手,感觉没有成就感,呵呵。 下面先来一个实例。我们通过创建两个线程来实现对一个数的递加。或许这个实例没有实际运用的价值,但是稍微改动一下,我们就可以用到其他地方去拉。下面是我们的代码:/*thread_example.c : c multip....
分类:
编程语言 时间:
2014-11-30 18:33:51
阅读次数:
199
前言 Linux多线程环境中的信号处理不同于进程的信号处理。一方面线程间信号处理函数的共享性使得信号处理更为复杂,另一方面普通异步信号又可转换为同步方式来简化处理。 本文首先介绍信号处理在进程中和线程间的不同,然后描述相应的线程库函数,在此基础上给出一组示例代码,以讨论线程编程中信号处理的细节和.....
分类:
编程语言 时间:
2014-11-28 09:48:30
阅读次数:
348
这篇文章总结下 Linux 中多线程编程中能用到的几个函数,当然,需要同步操作的时候还需要加锁的操作,这里,没有列举的这么具体,只是把最常用的函数介绍下。 在编写多线程程序在编译的时候需要加上 -lpthread,因为用到了 pthread 库。/**
头文件:
#include
功能:
创建一个线程
参数:
tid : 用于返回线程 id
attr : 设置线程...
分类:
编程语言 时间:
2014-11-26 16:38:14
阅读次数:
187
描述: 生产者-消费者问题是一个经典的进程同步问题,该问题最早由Dijkstra提出,用以演示他提出的信号量机制。在同一个进程地址空间内执行的N个线程生产者线程生产物品,然后将物品放置在一个空缓冲区中供N个消费者线程消费。消费者线程从缓冲区中获得物品,然后释放缓冲区。当生产者线程生产物品时,如果没有空缓冲区可用,那么生产者线程必须等待消费者线程释放出一个空缓冲区。当消费者线程消费物品...
分类:
编程语言 时间:
2014-11-19 20:35:52
阅读次数:
178
在看《Linux多线程服务端编程:使用muduo C++网络库》 的时候,在说到如何防止在将对象的 this 指针作为返回值返回给了调用者时可能会造成的 core dump。需使用enable_share_from_this。 首先要说明的一个问题是如何安全地将 this 指针返回给调用者。一般来....
分类:
其他好文 时间:
2014-11-15 18:49:55
阅读次数:
219
多线程经常会在Linux的开发中用到,我想把平时的使用和思考记录下来,一是给自己做个备忘,二是分享给可能会用到的人。 POSIX标准下互斥锁是pthread_mutex_t,与之相关的函数有:1 int pthread_mutex_init(pthread_mutex_t * mutex , ...
分类:
编程语言 时间:
2014-11-08 23:19:56
阅读次数:
293
Linux多线程编程#include<pthread.h>基本线程函数intpthread_create(pthread_t*tid,constpthread_attr_t*attr,void*(*func)(void*),void*arg);线程创建成功返回0,出错返回某个非0值,一般为-1tid创建成功的线程通过tid指针返回线程IDattr指定线程的属性func线程的入口函..
分类:
编程语言 时间:
2014-11-03 10:19:51
阅读次数:
256
6.名称::pthread_detach功能:使线程进入分离状态。头文件:#include 函数原形:int pthread_detach(pthread_t tid);参数:返回值:若成功则返回0,否则返回错误编号。在默认情况下,线程的终止状态会保存到对该线程调用pthread_join,如果线程...
分类:
编程语言 时间:
2014-10-30 15:15:01
阅读次数:
208
一.什么是线程在一个程序里的多个执行路线就叫做线程。更准确的定义是:线程是“一个进程内部的一个控制序列”。典型的unix进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情。有了多个控制线程以后,在程序设计时可以把进程设计成在同一时刻能够做不止一件事,每个线程处理各只独立的任务。二.线程的优...
分类:
编程语言 时间:
2014-10-30 14:56:08
阅读次数:
213
是基于Linux系统的TCP/IP协议的使用,结合多线程的调度,实现的一个简单的网络聊天室。...
分类:
编程语言 时间:
2014-10-25 11:57:36
阅读次数:
316