小编Fra*_*nXh的帖子

pthread_mutex_t 结构:锁代表什么?

我正在查看 pthreadtypes.h 文件中的 pthread_mutex_t 结构。“__lock”代表什么?它就像分配给互斥锁的锁号吗?

typedef union
{
  struct __pthread_mutex_s
  {
     int __lock;
     unsigned int __count;
     int __owner;
     #if __WORDSIZE == 64
     unsigned int __nusers;
     #endif
    /* KIND must stay at this position in the structure to maintain
     binary compatibility.  */
     int __kind;
     #if __WORDSIZE == 64
     int __spins;
     __pthread_list_t __list;
     # define __PTHREAD_MUTEX_HAVE_PREV 1
     #else
     unsigned int __nusers;
     __extension__ union
    {
      int __spins;
      __pthread_slist_t __list;
    };
    #endif
  } __data;
 char __size[__SIZEOF_PTHREAD_MUTEX_T];
 long int __align;
Run Code Online (Sandbox Code Playgroud)

pthread_mutex_t;

posix mutex locking pthreads mutual-exclusion

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

Java中的时间复杂性

对于方法,添加ArrayList Java API状态:

添加操作以分摊的常量时间运行,即添加n个元素需要O(n)时间.

我想知道当使用LinkedList的add方法时,它是否是同一时间复杂度,线性.

java linked-list arraylist time-complexity

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

Java比较具有字符和数字的字符串

在Java中,我想比较和排序包含字符和数字的字符串.例如:

应对A15,D35,A17,C45,B27,C30进行分类

A15 A17 B27 C30 C45 D35.我不确定如何比较其中两个元素,因为它们包含一个字符串和一个数字.有人可以帮我吗?

java string compare

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

声明一个字符串数组

我想声明一个字符串数组,但Java在我这样做时抱怨:String [] ss =("A","B","C","D");

我究竟做错了什么?

java arrays string

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

向量声明的C++向量

我不确定这行代码是做什么的.

 vector<vector<A>> someth;
Run Code Online (Sandbox Code Playgroud)

这是否意味着使用具有A类对象的元素向量创建向量?可以请有人解释一下吗?

谢谢

c++ declaration vector

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

java中的图形实现

我正在尝试创建一个使用另一个类的Graph类,Vertex类表示图的所有顶点.我不确定是否需要一个表示两个顶点之间可能连接的Edge类,因为每个顶点都可以跟踪它所连接的其他节点.但我不确定这是否正确.你怎么看?

谢谢.

java implementation graph

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

使用 gdb 检查寄存器的值

如何查看寄存器保存的值?我有以下装配线:

 mov 0x8(%rax), %rax
 cpm %ebx, (%rax)
Run Code Online (Sandbox Code Playgroud)

使用命令:

 (gdb) p/x $ebx
 (gdb) p/x $rbx
 $3 = 0xb
Run Code Online (Sandbox Code Playgroud)

我得到存储在这个寄存器中的值。但是,当我尝试查看它在内存位置 (%rax) 中存储的内容时,我遇到了以下问题:

(gdb) display *(int *)$rax
Disabling display 10 to avoid infinite recursion.
10: *(int *)$rax = Cannot access memory at address 0x17
Run Code Online (Sandbox Code Playgroud)

我无法理解为什么会发生这种情况以及如何找出 (%rax) 中的内容。

assembly gdb x86-64

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

Express.js:将默认的public/images文件夹更改为另一个目录(Express.js文件夹之外)

在Express.js中,我想将我的图像/视频保存在Express.js项目文件夹之外,这意味着不在公共/图像中.例如,现在我的媒体位于Express.js项目文件夹中:

/home/myName/Project/public/images
Run Code Online (Sandbox Code Playgroud)

而且我希望我的图片/视频能够存在

/home/myName/allMyMedia
Run Code Online (Sandbox Code Playgroud)

我的app.configure()函数现在看起来像这样:

app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(expressValidator);
app.use(express.methodOverride());
app.use(express.cookieParser('your secret here'));
app.use(express.session());
app.use(app.router);
app.use(require('less-middleware')({ src: __dirname + '/public' }));
app.use(express.static(path.join(__dirname, 'public')));
});
Run Code Online (Sandbox Code Playgroud)

我试图将'/ public'改为'../public',但这不起作用.我也玩了一些关于公开的其他路径声明,但最多知道我无法弄清楚如何解决这个问题.任何帮助,将不胜感激.

node.js express

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

JavaScript:与此相比

我想在JavaScript中更好地理解它的用法.我在这里关注道格拉斯·克罗克福德的教程:http://javascript.crockford.com/private.html 但我对两件事感到困惑.我在下面给出了一个例子,我想知道我是否正确使用它们:

function ObjectC()
{
   //...
}

function ObjectA(givenB)
{
   ObjectC.call(this); //is the use of this correct here or do we need that?

   var aa = givenB;
   var that = this;

   function myA ()
   {
      that.getA(); //is the use of that correct or do we need this?
   }

   this.getA = function() //is the use of this correct?
   {
       console.log("ObjectA");
   };


}

 function ObjectB()
 {

    var that = this;

    var bb = new ObjectA(that); //is the use of …
Run Code Online (Sandbox Code Playgroud)

javascript this

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

停止扫描程序读取用户输入java?

我正在尝试编写这种方法,该方法不断向用户读取,直到输入"exit"字样.我尝试了休息和循环; 它不起作用.我正在尝试,但即使输入"退出"这个词,它也不会停止.任何想法如何解决这一问题?谢谢.

public void read(Scanner scanner){

while(3<4){
String in = scanner.nextLine();
Scanner scanner_2 = new Scanner(in);

String name = null;

if(scanner_2.hasNext()){
  //create and add the user to the user container class
  name = scanner_2.next();
  System.out.println(name);
}

if(name == exit)
//stop or break the while loop
}
}
Run Code Online (Sandbox Code Playgroud)

java input java.util.scanner

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