小编pho*_*xis的帖子

完成常规工作后取消POSIX线程

有多个线程处理任务.一旦线程成功,所有线程都应该被取消,因为工作已经完成.一旦一个线程成功终止,我如何取消其他线程?谁会打电话pthread_cancel (),成功的线程如何告诉main或者产生它的线程(返回值?).

UPDATE

我不想简单地打电话,exit因为我现在想要一些控制权.例如,在取消线程之后,我将通过成功的线程处理找到的结果,并可能进行更多的处理,或者只是想让流程继续运行以进行更多的工作.

c multithreading pthreads

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

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

RTC 星期几字节

我通过端口 0x70 和 0x71 直接读取/写入 RTC。根据手册,工作日字节将保存星期几,Sunday=1,值范围从 1 到 7。当我读取今天得到的字节 4 时,即星期三。而当我阅读 RTC 信息时,hwclock -r日期是星期四,这是正确的。

将日期设置hwclock为其他日期并使用我的代码读取它不会反映工作日字节的变化。

此问题在所有系统中都存在。可能是什么问题?

x86 assembly real-time-clock

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

需要陷入神经网络的局部最优

我需要陷入前馈神经网络的局部最优。我需要一个示例和权重初始化,使用最陡梯度下降将陷入局部最优(在每个维度的特定边界权重内)。我找不到这样的例子,至少看起来是这样,因此无法测试新算法。

任何人都可以指出一些文档、资源,或者为我提供一个如何陷入局部最优的示例。

machine-learning neural-network

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

R 中的递归错误(斐波那契数列)

所以我正在尝试自己学习 R 并且只是在学习在线教程。我正在尝试编写一个递归函数来打印斐波那契数列的前 n 项,并且无法在没有错误的情况下运行代码:

if (nterms <= 0) { 中的错误:缺少需要 TRUE/FALSE 的值

我的代码在输入if else语句之前确实要求我输入,我认为这也很奇怪。以下是我的代码,任何帮助表示赞赏。

#Define the fibonacci sequence

recurse_fibonacci <- function(n) {
    # Define the initial two values of the sequence

    if (n <= 1){
        return(n)
    } else {

    # define the rest of the terms of the sequence using recursion
    return(recurse_fibonacci(n-1) + recurse_fibonacci(n-2))
    }
}

#Take input from the user
nterms = as.integer(readline(prompt="How many terms? "))

# check to see if the number of terms entered …
Run Code Online (Sandbox Code Playgroud)

stdin r rscript

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

是>>((sizeof a)*CHAR_BIT)定义,UB还是IDB?

1.考虑以下事项:

unsigned int a, b;

b = a >> ((sizeof a) * CHAR_BIT);

/* or 2nd operand greater than ((sizeof a) * CHAR_BIT) */
Run Code Online (Sandbox Code Playgroud)

这是定义的,未定义的行为还是依赖于实现的行为?

2.另一个子问题:

在这种情况下a是signed int,它被移位小于其位长度,是限定的签名比特移位实现或未定义的行为.在这两种情况下:

  1. 右移时: a >> 5
  2. 左移时: a << 5

编辑编辑问题

c bit-manipulation bit-shift bit

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

为什么这个线程代码会挂起

在下面的代码中,当我执行producercon类时,有时执行卡住,看起来像死锁.但如果我进行get_flag () 同步则没有这样的问题.

我无法弄清楚怎么会有问题.该flag可真或假的所以只的一个producer或consumer将进入if声明.在其中一个进入后if,它将进入带有对象的监视器r(两者都使用相同的对象引用进行初始化).唯一的问题是,r对象被increment_decrement ()函数调用修改,并且同时get_flag ()读取标志,但即便如此,它也不会进入该if迭代,但它将if在下一次迭代时进入块,并且即使第一个线程没有离开监视器,它也会在那里等待它(在synchronized阻塞之前).

如果get_flag ()没有制作程序停止/悬挂的方式和原因synchronized?

import java.io.*;

class resource
{
   private boolean res, flag;

   resource ()
   {
     flag=false;
   }

   boolean get_flag ()
   {
     return flag;
   }

   void increment_decrement (String s,boolean t)
   {
     res=t;
     flag=t;
      try 
      {
        System.out.print("\n"+s+":"+res);
        Thread.sleep(200);
      }
      catch(InterruptedException e)
      {
      }
   }
}

class …
Run Code Online (Sandbox Code Playgroud)

java synchronization synchronized

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

使用固定索引快速将元素加载到数组/列表中,无需重复

我的要求是将字符串输入到不在数组中的数组中.我还需要维护固定索引,因为此数组将与其他数据结构一起使用,并与每个索引具有一对一的关系.目前我正在使用ArrayList该类并使用该indexOf ()方法检查它是否存在,如果没有,则使用add ()带有一个参数的方法将其添加到列表中.我不熟悉java中的类,因此无法理解如何使用HashMap或其他东西(trie或其他)实现它,这将使加载过程快速.

执行indexOf ()中ArrayList,使顺序搜索?我的观点是减少将单词加载到数组中时的处理时间,不插入重复项,并维护元素的固定索引.如果测试的单词已经在数组中,则需要插入它的索引,因为需要索引来索引其他结构并进行一些处理.有什么建议让这个过程更好吗?

UPDATE

有一个数组,我有一些文件,我需要扫描每个单词,并在文档中找到唯一的单词.但我还需要计算重复数量.换句话说,我需要计算文档中出现的唯一术语的术语频率.我保持一个ArrayList<Integer[]>术语频率(术语数量x文档数量).我正在获取一个单词,然后使用该indexOf ()方法检查它是否在单词列表中.如果它不在单词列表中,那么我将单词插入列表,并在2d数组中分配一个新行(the Array<Integer[]>),然后将2d数组中的term元素的计数设置为1.如果单词已经在单词数组中,然后我使用数组中单词的索引来索引Array<Integer[]>矩阵的行,并使用当前处理文档编号来获取单元格并递增计数.

我的问题是减少indexOf ()我目前使用的每个单词的处理时间.如果它已经在那里,我需要得到单词数组中单词的索引,如果它不在那里,那么我需要动态地将它插入到数组中.

示例代码

import java.io.*;
import java.util.ArrayList;
import static java.lang.Math.log;


class DocumentRepresentation
{
  private String dirPath;
  private ArrayList<String> fileNameVector;
  private ArrayList<String> termVector;
  private ArrayList<Integer[]> tf; /* store it in natural 2d array */
  private Integer df[]; /* do normal 1d array */
  private Double idf[]; /* do normal …
Run Code Online (Sandbox Code Playgroud)

java arraylist hashmap

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

C中结构中的填充量是编译器相关还是定义良好?

C中的填充量是否struct在标准或编译器和/或目标体系结构中定义.我无法在标准中找到答案.

c padding

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

在R框架中通过字符串标签选择特定列

我想从 R 的框架中排除“fldname”frm标记的列。如果我们知道该列的索引,i那么我们可以使用 来frm[-i]排除i第 3列。有没有简单的方法可以通过指定我想要排除的列标签字符串或标签字符串列表来执行相同的操作?

我找到了一个解决方案(由 Fhnuzoag 纠正):

frm[names (frm)[names (frm) != c("fldname1","fldname2")]]

frm[names (frm)[!names (frm) %in% c("fldname1","fldname2")]]

获取所需字符串的列表并将其用作索引。“fldname1”和“fldname2”上方是不需要的字段。

语言语法是否有一个简单的解决方案?

r dataframe

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