小编Wal*_*ace的帖子

Pthread队列系统

我正在处理有关 pthreads 的作业。我是新人,以前从未接触过 pthreads。你们中是否有任何示例代码或资源可以帮助我完成任务?

\n\n

这是我的作业详细信息。一个关于队列系统的pthread程序:

\n\n
\n

为牙科诊所\xe2\x80\x99s 排队系统编写一个 C/C++ Pthread 程序,该程序声明一个\n 大小为 N 的整数数组,其中 N 是当天的最大队列数。pthread 程序使用两个线程。

\n\n

每当有新的牙科预约时,第一个线程(创建者)将队列号一个接一个地放入数组中。每当牙医看过病人时,第二个线程(删除程序)就会从数组中删除队列号。这是以 FIFO 方式(先进先出)完成的。\n 创建者的算法如下:

\n\n

\xe2\x80\xa2 如果数组未满,则在其中放入一个新数字(数字从 1 \n 开始,每次递增 1,因此创建者创建队列编号 1、2、3 等)

\n\n

\xe2\x80\xa2 随机休眠 1 到 10 秒

\n\n

\xe2\x80\xa2 重复

\n\n

去除器的算法如下:

\n\n

\xe2\x80\xa2 如果数组不为空,则删除其最小的队列号。

\n\n

\xe2\x80\xa2 随机休眠 1 到 10 秒

\n\n

\xe2\x80\xa2 重复

\n\n

您应该使用互斥锁来保护必须保护的事物。每个线程\n 应该在屏幕上打印它正在执行的操作(例如:“数字13 已添加到队列中”、\n“数字7 已从队列中删除”等)。该程序应该永远运行。

\n
\n\n

任何帮助将不胜感激。\n谢谢。

\n

c c++ pthreads

4
推荐指数
1
解决办法
3796
查看次数

Qt qApp setFont()

我正在尝试使用 setFont() 方法为应用程序范围的更改设置字体。我尝试了以下方法:

qApp->setFont();
Run Code Online (Sandbox Code Playgroud)

但是,setFont() 不是 qApp 的方法。我不确定如何在整个应用程序中设置字体。有人可以就此提出建议吗?

谢谢。

qt

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

QDom删除节点

我试图删除我的.xml中的所有节点.但是,使用以下代码,我只能删除第一个和第三个节点,从而无法删除第二个节点.我发现我的for循环出了问题,但是我无法确定出了什么问题.它似乎跳过删除第二个节点.

有人可以帮忙吗?谢谢.

malfunctions.xml:

<InjectedMalfunctions>
    <Malfunction>
        <Name>ABC1</Name>
        <Time>00:00:00</Time>
    </Malfunction>
    <Malfunction>
        <Name>ABC2</Name>
        <Time>01:00:00</Time>
    </Malfunction>
    <Malfunction>
        <Name>ABC3</Name>
        <Time>03:00:00</Time>
    </Malfunction>
</InjectedMalfunctions>
Run Code Online (Sandbox Code Playgroud)

的.cpp:

QFile inFile("C:/Test/malfunctions.xml");
inFile.open(IODevice::ReadOnly | QIODevice::Text);
QDomDocument doc;
doc.setContent(&inFile);
inFile.close();

QDomNodeList nodes = doc.elementsbyTagName("Malfunction");
if(!nodes.isEmpty())
{
    for(int i = 0; i < nodes.count(); ++i)
    {
        QDomNode node = nodes.at(i);
        node.parentNode().removeChild(node);
    }
}

...
Run Code Online (Sandbox Code Playgroud)

结果:

<InjectedMalfunctions>
    <Malfunction>
        <Name>ABC2</Name>
        <Time>01:00:00</Time>
    </Malfunction>
</InjectedMalfunctions>
Run Code Online (Sandbox Code Playgroud)

c++ xml qt dom for-loop

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

标签 统计

c++ ×2

qt ×2

c ×1

dom ×1

for-loop ×1

pthreads ×1

xml ×1