c语言多线程编程使用示例
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#define THREAD_NUM 10
void *test(void *args) {
printf("tid %d: i say 'Hello'.\n", args);
return NULL;
}
int main() {
int i, err;
pthread_t child[THREAD_NUM];
for(i = 0; i < THREAD_NUM; i++) {
printf("Creating thread %d\n", i);
err = pthread_create(&child[i], NULL, test, (void *) i);
if(err) {
printf("Can't create thread %d\n", i);
exit(0);
}
}
for(i = 0; i < THREAD_NUM; i++)
pthread_join(child[i], NULL);
printf("Thread initialize\n");
return 0;
}
相关推荐
-
关于C语言多线程pthread库的相关函数说明
线程相关操作说明 一 pthread_t pthread_t在头文件/usr/include/bits/pthreadtypes.h中定义: typedef unsigned long int pthread_t; 它是一个线程的标识符. 二 pthread_create 函数pthread_create用来创建一个线程,它的原型为: extern int pthread_create __P ((pthread_t *__thread, __const pthread_attr_t *__at
-
c语言多线程编程使用示例
复制代码 代码如下: #include <stdio.h>#include <stdlib.h>#include <pthread.h> #define THREAD_NUM 10 void *test(void *args) { printf("tid %d: i say 'Hello'.\n", args); return NULL;} int main() { int i, err; pthread_t child[THREAD_NUM]; f
-
C语言编程中借助pthreads库进行多线程编程的示例
运行之前需要做一些配置: 1.下载PTHREAD的WINDOWS开发包 pthreads-w32-2-4-0-release.exe(任何一个版本均可) http://sourceware.org/pthreads-win32/ ,解压到一个目录. 2.找到include和lib文件夹,下面分别把它们添加到VC++6.0的头文件路径和静态链接库路径下面: a).Tools->Options,选择Directory页面,然后在Show directories for:中选择Includ
-
C语言socket编程开发应用示例
实现步骤: 1. Server端 复制代码 代码如下: #include <stdio.h> //用于printf等函数的调用#include <winsock2.h> //Socket的函数调用 #pragma comment (lib, "ws2_32") //C语言引用其他类库时,除了.h文件外,还要加入对应的lib文件(这个不同于C#) 复制代码 代码如下: int main()
-
linux下c语言的多线程编程
我们在写linux的服务的时候,经常会用到linux的多线程技术以提高程序性能 多线程的一些小知识: 一个应用程序可以启动若干个线程. 线程(Lightweight Process,LWP),是程序执行的最小单元. 一般一个最简单的程序最少会有一个线程,就是程序本身,也就是主函数(单线程的进程可以简单的认为只有一个线程的进程) 一个线程阻塞并不会影响到另外一个线程. 多线程的进程可以尽可能的利用系统CPU资源. 1创建线程 先上一段在一个进程中创建一个线程的简单的代码,然后慢慢深入. #incl
-
Java多线程编程实现socket通信示例代码
流传于网络上有关Java多线程通信的编程实例有很多,这一篇还算比较不错,代码可用.下面看看具体内容. TCP是Tranfer Control Protocol的 简称,是一种面向连接的保证可靠传输的协议.通过TCP协议传输,得到的是一个顺序的无差错的数据流.发送方和接收方的成对的两个socket之间必须建 立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以
-
java多线程编程同步器Future和FutureTask解析及代码示例
publicinterfaceFuture<V>Future表示异步计算的结果.它提供了检查计算是否完成的方法,以等待计算的完成,并获取计算的结果.计算完成后只能使用get方法来获取结果,如有必要,计算完成前可以阻塞此方法.取消则由cancel方法来执行.还提供了其他方法,以确定任务是正常完成还是被取消了.一旦计算完成,就不能再取消计算.如果为了可取消性而使用Future但又不提供可用的结果,则可以声明Future<?>形式类型.并返回null作为底层任务的结果. Future主要
-
Python多线程编程之多线程加锁操作示例
本文实例讲述了Python多线程编程之多线程加锁操作.分享给大家供大家参考,具体如下: Python语言本身是支持多线程的,不像PHP语言. 下面的例子是多个线程做同一批任务,任务总是有task_num个,每次线程做一个任务(print),做完后继续取任务,直到所有任务完成为止. # -*- coding:utf-8 -*- #! python2 import threading start_task = 0 task_num = 10000 mu = threading.Lock() ###通
-
举例解析Java多线程编程中需要注意的一些关键点
1. 同步方法或同步代码块? 您可能偶尔会思考是否要同步化这个方法调用,还是只同步化该方法的线程安全子集.在这些情况下,知道 Java 编译器何时将源代码转化为字节代码会很有用,它处理同步方法和同步代码块的方式完全不同. 当 JVM 执行一个同步方法时,执行中的线程识别该方法的 method_info 结构是否有 ACC_SYNCHRONIZED 标记设置,然后它自动获取对象的锁,调用方法,最后释放锁.如果有异常发生,线程自动释放锁. 另一方面,同步化一个方法块会越过 JVM 对获取对象锁和异常
-
Python多线程编程(一):threading模块综述
Python这门解释性语言也有专门的线程模型,Python虚拟机使用GIL(Global Interpreter Lock,全局解释器锁)来互斥线程对共享资源的访问,但暂时无法利用多处理器的优势.在Python中我们主要是通过thread和 threading这两个模块来实现的,其中Python的threading模块是对thread做了一些包装的,可以更加方便的被使用,所以我们使用 threading模块实现多线程编程.这篇文章我们主要来看看Python对多线程编程的支持. 在语言层面,Pyt
-
Java多线程编程小实例模拟停车场系统
下面分享的是一个Java多线程模拟停车场系统的小实例(Java的应用还是很广泛的,哈哈),具体代码如下: Park类 public class Park { boolean []park=new boolean[3]; public boolean equals() { return true; } } Car: public class Car { private String number; private int position=0; public Car(String number)
随机推荐
- Go语言命令行操作命令详细介绍
- fckeditor在php中的用法(添加于修改写成了函数)
- 简述Java异步上传文件的三种方式
- 详解Java二叉排序树
- iOS App开发中导航栏的创建及基本属性设置教程
- asp.net下将Excel转成XML档的实现代码
- 调试PHP程序的多种方法介绍
- php读取目录及子目录下所有文件名的方法
- Django框架中的对象列表视图使用示例
- python爬虫的工作原理
- 网站前端和后台性能优化的34条宝贵经验和方法
- ie7下利用ajax跨域盗取cookie的解决办法
- 微信小程序教程系列之设置标题栏和导航栏(7)
- CentOS Linux系统搭建Android开发环境详细介绍
- 基于jQuery的表单填充实例
- 详解javascript跨浏览器事件处理程序
- Android Imageloader的配置的实现代码
- JAVA中ListIterator和Iterator详解与辨析(推荐)
- 12个关于C语言的有趣问答
- SQL入侵恢复xp_cmdshell方法总结