小编dm3*_*333的帖子

可以偷看管道FD吗?

我的任务是为Linux编写多线程网络聊天,但我有一个问题:如何向每个线程广播单个消息?我考虑过要么为主线程中的每个线程获取管道,要么为所有线程获取单个管道。在我看来,第二个变种更好,但问题是您无法多次从管道读取相同的数据,也无法查找。

因此,问题是:是否有任何方法可以通过文件描述符组织通信并从中读取信息,就像使用MSG_PEEK的recv一样?还是我遵循错误的方式?

c linux posix pthreads

5
推荐指数
0
解决办法
678
查看次数

为什么gtk css小部件样式不起作用?

我正在尝试在Vala中从其构造函数内部对小部件进行样式设置,但没有得到想要的结果。这是原始代码示例:

public class MyWidget : Gtk.FlowBox {

    public MyWidget () {
        var css_provider = new Gtk.CssProvider ();
        try {
            css_provider.load_from_data (
                """
                label {
                    color: blue;
                }
                """
            );
            get_style_context ().add_provider (css_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
        } catch (Error e) {
            message ("error");
        }
    }

    public void add_entry (string s) {
        var entry = new Gtk.Label (s);
        add (entry);
    }

}
Run Code Online (Sandbox Code Playgroud)

我尝试了样式“ flowbox”,“ flowboxchild”,“ label”等的所有不同变体,但对于GtkFlowbox中的每个元素或将其分配给一个类,只有一个可行的方法是“ *”,以为我仍然无法设置样式是孩子 优先级似乎没有任何改变,为屏幕上下文添加全局“流框”样式也不起作用。

我试图使用gtk inspector来做到这一点,但这里也没有结果。

那么如何为小部件的所有子项设置样式?还是我需要为他们指定班级?

gtk vala gtk3

3
推荐指数
1
解决办法
557
查看次数

不能重载具有函数类型联合的函数

我正在尝试创建具有不同参数类型的函数类型的联合,但在联合类型中,参数变为“从不”。我可以使用联合类型作为参数并获得我需要的结果,或者使用函数重载,但为什么不允许函数类型的联合。下面是代码示例:

type FnA = (arg: 'a') => any;
type FnB = (arg: 'b') => any;
type Fn = FnA | FnB;
declare const fn: Fn;
fn('a'); // Argument of type 'string' is not assignable to parameter of type 'never'
Run Code Online (Sandbox Code Playgroud)

是错误还是按预期工作?

typescript

2
推荐指数
1
解决办法
31
查看次数

标签 统计

c ×1

gtk ×1

gtk3 ×1

linux ×1

posix ×1

pthreads ×1

typescript ×1

vala ×1