C 语言的 Channels chan

Apache
C/C++
跨平台
2014-08-30
红薯

chan 是纯 C 实现的 Go 的 Channels,示例代码:

#include <pthread.h>
#include <stdio.h>
#include "chan.h"

chan_t* chan;

void* ping()
{
    // Send blocks until receiver is ready.
    chan_send(chan, "ping");
    return NULL;
}

int main()
{
    // Initialize unbuffered channel.
    chan = chan_init(0);

    pthread_t th;
    pthread_create(&th, NULL, ping, NULL);

    // Receive blocks until sender is ready.
    void* msg;
    chan_recv(chan, &msg);
    printf("%s\n", msg);

    // Clean up channel.
    chan_dispose(chan);
}
的码云指数为
超过 的项目
加载中

评论(2)

红薯
红薯
干吗用的呢? chan
tsuibin
tsuibin
api水平 有待提高 chan

暂无资讯

暂无问答

swoole中channel的应用

点击这里了解如何使用go函数 尝试了解 Channel (管道)的特性 // 由于\Swoole\Corutine\Channel要配合协程使用,所以这里直接使用\Swoole\Channel $chan = new \Swoole\Channel(100); $chan->...

2018/08/24 19:19
163
0
天眼查接口token, _utm获取

同学让我帮忙看看天眼查,说token和_utm取不出来。其实挺简单的,通过观察请求,发现每次取数据时,都会打一个tongji的接口。发现里面有个v参数,取出来,逗号分隔,ascii转字符,再拼接。直...

2016/12/16 09:41
4.2K
3
Go中运用chan的简单案例

Go中的chan和并发紧密联系,可以用chan控制程序的执行

2015/11/13 22:55
93
0
simpread-golang select-case 实现机制

本文由 简悦 SimpRead 转码, 原文地址 https://hitzhangjie.github.io/jekyll/update/2018/05/19/golang-select-case%E5%AE%9E%E7%8E%B0%E6%9C%BA%E5%88%B6.html 在介绍 select-case 实现机...

10/08 16:45
5
0
Chapter seventh(第七章 并发)

并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。

2015/08/17 10:48
12
0
fabric usage

#! /usr/bin/env python #coding=utf-8 from fabric.api import * from fabric.state import * env.roledefs = { 'scan_proc_server': [ '162.16.1.105', '162.16.1.141', '162.16.1.142', '...

2014/09/03 11:20
21
0
Go语言的素数筛

package main import ( "fmt" "runtime" "runtime/debug" ) // 返回生成自然数序列的管道: 2, 3, 4, ... func GenerateNatural() chan int { ch := make(chan int) go func() { for i := 2;...

2014/05/08 09:43
428
1
golang chan

####如何判断chan关闭 ```go package main import( "fmt" ) func main(){ c := make(chan bool) close(c) if ok, _ := <-c; ok{ fmt.Println("not closed") }else{ fmt.Println("closed") } ...

2016/08/31 23:11
116
0
深入学习golang—channel

“网络,并发”是Go语言的两大feature。Go语言号称“互联网的C语言”,与使用传统的C语言相比,写一个Server所使用的代码更少,也更简单。写一个Server除了网络,另外就是并发,相对python等...

2016/02/17 13:46
120
1

没有更多内容

加载失败,请刷新页面

返回顶部
顶部