c语言多线程共享静态变量,C中的多线程

原标题:C中的多线程

什么是线程?

线程是进程内的单个序列流。由于线程具有某些进程属性,因此它们有时称为轻量级进程。

进程和线程有什么区别?

线程并不是独立于其他类似的进程,因此线程与其他线程共享其代码段,数据段和OS资源(如打开文件和信号)。但是,与进程一样,线程有自己的程序计数器(PC),寄存器集和堆栈空间。

为何选择多线程?

线程是通过并行性改进应用程序的流行方式。例如,在浏览器中,多个选项卡可以是不同的线程。MS word使用多个线程,一个线程用于格式化文本,另一个线程用于处理输入等。

由于以下原因,线程比进程运行得更快:

1)线程创建要快得多。

2)线程之间的上下文切换要快得多。

3)线程可以轻松终止

4)线程之间的通信更快。

有关详细信息,请参阅http://www.personal.kent.edu/~rmuhamma/OpSystems/Myos/threads.htm。

我们可以用C编写多线程程序吗?

与Java不同,语言标准不支持多线程。POSIX线程(或Pthreads)是线程的POSIX标准。gcc编译器可以实现pthread。

一个简单的C程序,用于演示pthread基本函数的使用

请注意,下面的程序只能使用带有pthread库的C编译器进行编译。

#include

#include

#include //Header file for sleep(). man 3 sleep for details.

#include </

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值