线程的创建等待及退出 代码源码举例

简介: 线程的创建等待及退出 代码源码举例
#include<stdio.h>
#include<pthread.h>
void *funcl(void *arg)
{
        printf("t1: %ld thread is create\n",(unsigned long) pthread_self());//pthread_self()为获取线程ID号
        printf("t1:param is %d\n",*((int *)arg));//打印主进程给的参数
}
int main()
{
        int ret;
        int param = 100;
        pthread_t t1;
        ret = pthread_create(&t1, NULL, funcl,(void *)&param);//创建funcl线程,传参并 将返回值给ret
        if(ret == 0){
                printf("main:create t1 success\n");//说明创建成功
        }
        printf("main: %ld\n",(unsigned long)pthread_self());//获取线程ID号
        while(1);//为了等待t1线程执行,不然没等运行,主进程就结束了
        return 0;
}
~  

执行显示:

CLC@Embed_Learn:~/liuzhihao$ ./a.out

main:create t1 success

main: 139744965641984

t1: 139744957355776 thread is create

t1:param is 100

相关文章
|
17天前
多线程案例-定时器(附完整代码)
多线程案例-定时器(附完整代码)
254 0
|
17天前
|
数据采集 Python
【Python自动化】多线程BFS站点结构爬虫代码,支持中断恢复,带注释
【Python自动化】多线程BFS站点结构爬虫代码,支持中断恢复,带注释
32 0
|
17天前
|
Java
|
4天前
|
设计模式 监控 Java
Java多线程基础-11:工厂模式及代码案例之线程池(一)
本文介绍了Java并发框架中的线程池工具,特别是`java.util.concurrent`包中的`Executors`和`ThreadPoolExecutor`类。线程池通过预先创建并管理一组线程,可以提高多线程任务的效率和响应速度,减少线程创建和销毁的开销。
23 2
|
4天前
|
安全 Java
Java多线程基础-10:代码案例之定时器(一)
`Timer` 是 Java 中的一个定时器类,用于在指定延迟后执行指定的任务。它常用于实现定时任务,例如在网络通信中设置超时或定期清理数据。`Timer` 的核心方法是 `schedule()`,它可以安排任务在延迟一段时间后执行。`
24 1
|
4天前
|
设计模式 安全 Java
多线程(代码案例: 单例模式, 阻塞队列, 生产者消费者模型,定时器)
多线程(代码案例: 单例模式, 阻塞队列, 生产者消费者模型,定时器)
16 2
|
4天前
|
存储 Java 调度
Java多线程基础-11:工厂模式及代码案例之线程池(二)
这篇内容介绍了Java多线程基础,特别是线程池中的定时器和拒绝策略。
19 0
|
4天前
|
Java 调度
Java多线程基础-10:代码案例之定时器(二)
Java 多线程基础中,定时器(Timer)的实现通常使用 `PriorityBlockingQueue` 和 `wait/notify` 机制来管理任务。
13 0
|
4天前
|
存储 安全 Java
Java多线程基础-9:代码案例之阻塞队列(二)
Java多线程基础教程系列中,介绍了如何实现一个简单的阻塞队列(非泛型版本)。
15 0
|
4天前
|
消息中间件 存储 负载均衡
Java多线程基础-9:代码案例之阻塞队列(一)
阻塞队列是一种遵循先进先出原则的线程安全数据结构,它在队列满时会阻塞入队操作,队列空时会阻塞出队操作,常用于多线程间的协作,简化同步代码编写。Java中提供了`BlockingQueue`接口及其实现类,如`ArrayBlockingQueue`和`LinkedBlockingQueue`,用于实现生产者-消费者模型,以实现负载均衡和资源的有效利用,如削峰填谷,降低系统压力。
21 0