`
yaojingguo
  • 浏览: 208177 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

runnable tail queue code

 
阅读更多

Make the tail queue sample in man page work.

 

#include <sys/queue.h>
#include <stdlib.h>
#include <stdio.h>

int main(int argc, const char *argv[]) 
{
    TAILQ_HEAD(tailhead, entry) head;
    struct tailhead *headp;
    headp = &head;

    struct entry {
        int val;
        TAILQ_ENTRY(entry) entries;
    } *n1, *n2, *np;

    TAILQ_INIT(headp);

    n1 = malloc(sizeof(struct entry));
    n1->val = 10;
    TAILQ_INSERT_HEAD(headp, n1, entries);

    n1 = malloc(sizeof(struct entry));
    n1->val = 100;
    TAILQ_INSERT_TAIL(headp, n1, entries);

    n2 = malloc(sizeof(struct entry));
    n2->val = 200;
    TAILQ_INSERT_AFTER(headp, n1, n2, entries);

    for (np = headp->tqh_first; np != NULL; np = np->entries.tqe_next)
        printf("value: %d\n", np->val);

    while (headp->tqh_first != NULL)
        TAILQ_REMOVE(headp, headp->tqh_first, entries);
    return 0;
}
 
分享到:
评论

相关推荐

    android handler runnable使用实例(关键是内部run中停止)

    在Android应用开发中,Handler、Runnable和Looper是三个非常重要的组件,它们构成了Android的消息处理机制。这个机制使得UI线程可以非阻塞地处理来自其他线程的消息,从而避免了UI冻结,提升了用户体验。下面我们将...

    java多线程Runnable实例

    `Runnable`接口是Java提供的一个核心机制,用于创建并运行线程。本实例将深入讲解如何使用`Runnable`接口来实现多线程,并通过具体的`TestRunnable.java`源代码进行演示。 一、`Runnable`接口简介 在Java中,`...

    implements Runnable

    "implements Runnable"是Java编程语言中的一个重要概念,它与多线程编程紧密相关。在Java中,线程是程序执行的最小单位,而创建线程主要有两种方式:继承Thread类和实现Runnable接口。本项目是一个Java小游戏,核心...

    android MessageQueue

    Handler提供了 sendMessage和post方法,用于将消息或Runnable对象放入MessageQueue。当Looper从MessageQueue中取出Message时,会根据Message的目标Handler来决定哪个线程处理该消息。 4. **异步处理**:Message...

    实现Runnable接口的小程序

    Java提供了两种主要的方式来创建线程:继承Thread类和实现Runnable接口。本篇文章将深入探讨通过实现Runnable接口来创建线程的方法,以及这种方式相比于直接继承Thread类的优势。 首先,我们来看Runnable接口。在...

    实现Runnable接口创建多线程.docx

    在Java编程语言中,创建线程有两种主要方式:继承`Thread`类和实现`Runnable`接口。由于Java的单继承特性,当一个类需要继承其他类时,就不能再直接继承`Thread`,这时实现`Runnable`接口就成为创建线程的优选方案。...

    thread 线程类 实现runnable接口

    "Thread 线程类实现 Runnable 接口" Thread 线程类是 Java 中 Thread 和 Runnable 接口的实现,它提供了线程的基本操作和管理。下面是对 Thread 类的详细介绍: 1. Runnable 接口 Runnable 接口是 Thread 类的...

    用Runnable创建线程比较--java

    在Java中,有两种主要的方法来创建线程:通过继承`Thread`类和实现`Runnable`接口。本篇文章将深入探讨如何使用`Runnable`接口创建线程,并与`Thread`类创建线程的方式进行比较。 首先,我们来看`Runnable`接口。`...

    Java中Runnable和Thread的区别

    在Java编程语言中,多线程的实现有多种方式,其中最常见的是通过继承`Thread`类和实现`Runnable`接口。这两种方法各有其特点和适用场景,理解它们之间的区别对于编写高效、可维护的多线程应用至关重要。 ### 继承...

    线程Runnable的实现

    在一个线程中求100以内的偶数,求出一个偶数后休眠一个随机时间在(1-300毫秒之间).在另一个线程中求奇数,求出一个奇数后也休眠一个随机时间(1-300毫秒之间).输出数据时应有提示,指明是哪个线程输出的数据 ...

    多线程的Runnable_和thread有什么区别

    ### 多线程的Runnable与Thread的区别 在Java中实现多线程有两种主要方式:一种是继承`Thread`类;另一种是实现`Runnable`接口。本文将深入探讨这两种方法的区别,帮助初学者更好地理解并选择适合场景的多线程实现...

    Java中的Runnable,Callable,Future,FutureTask的比较

    Java中的Runnable、Callable、Future和FutureTask是Java多线程编程中的核心概念,它们各自扮演着不同的角色,共同协作以实现并发任务的管理和执行。 1. **Runnable**: Runnable是最基本的多线程接口,它只有一个`...

    线程类实现Runnable接口

    声明自定义线程类实现Runnable接口实现奇数/偶数序列线程并发执行。

    使用Runnable模拟Callable接口实现线程有返回值

    大家都知道Runnable和Callable接口都可以作为其他线程执行的任务,但是Runnable接口的run方法没有返回值,而Callable接口的call方法有返回值,那么Callable接口是如何做到的呢?在此我给出一个Demo,看看通过...

    Android 多线程下载简单demo之Runnable

    本篇将基于`Runnable`接口提供一个简单的多线程下载示例,帮助开发者理解如何在Android中实现这一功能。 首先,我们要明白在Android中,主线程(UI线程)负责处理用户交互和更新界面,因此,长时间的网络请求或计算...

    android demo,使用Runnable和Handler的特性实现每个3s的定时器

    在Android开发中,`Runnable`和`Handler`是两种常用且关键的组件,它们在创建异步任务和处理UI更新方面发挥着重要作用。本示例的`android demo`旨在演示如何利用`Runnable`和`Handler`来实现一个每3秒执行一次的任务...

    autosar swc runnable

    Autosar SWC在Simulink中设置多个runnable的测试模型及生成的代码及Arxml文件

    JAVA中使用Thread类和Runnable接口创建多线程

    在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在使用Runnable接口时需要建立一个Thread实例。因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。

    Android的消息处理机制--Message,MessageQueue

    new Thread(new Runnable() { @Override public void run() { // 执行耗时任务 Message message = Message.obtain(); message.what = 1; handler.sendMessage(message); } }).start(); ``` 这段代码中,我们...

    QueueEvent-队列化执行线程和代码块

    在Java开发中,"QueueEvent-队列化执行线程和代码块"是一个重要的概念,它涉及到了并发编程和事件处理。队列化执行是一种策略,用于管理多个线程的执行顺序,通常与事件驱动编程相结合,以确保线程安全和高效的工作...

Global site tag (gtag.js) - Google Analytics