小编Fil*_*tos的帖子

NodeJS真的是单线程吗?

Node.js通过将基于事件的模型放在其核心,使用事件循环而不是线程来解决"每个连接一个线程问题".所有昂贵的I/O操作总是与启动的操作完成时执行的回调异步执行.

如果任何操作发生的观察由epoll()等多路复用机制处理.

我的问题现在是:

  • 为什么在使用阻塞Systemcalls select/epoll/kqueue时NodeJS阻塞?

  • 或者根本不是NodeJS Single Threaded,所以需要第二个Thread
    来观察select/epoll/kqueue的所有I/O操作?

architecture multithreading node.js

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

用Erlang将十进制转换为十六进制?

如何在Erlang中将十进制"37"转换为十六进制值"25"?有一个简单的方法吗?

erlang

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

为什么ePoll比Poll更好地扩展?

简短的问题但对我来说很难理解.

为什么ePoll比Poll更好地扩展?

epoll

12
推荐指数
2
解决办法
2492
查看次数

几个Threads上的epoll_wait更快?

我正在考虑编写一个基于的TCP服务器epoll.为了实现最佳性能,我也希望实现多核支持.但是在我的研究过程中出现了以下问题:epoll_wait()从两个不同的线程调用两个-Call 是否更快,每个线程在双核上观察自己的文件描述符?或者这是否只调用一个epoll_wait()观察所有文件描述符的单个?

由于内核观察文件描述符,我认为在用户空间调用中使用多少线程并不重要epoll_wait()

multithreading epoll

8
推荐指数
2
解决办法
5925
查看次数

如何衡量每个活动Apache Connection的内存使用情况?

我想测量Ubuntu下一个活动Apache连接(= Thread)的内存消耗.

有没有能够做到这一点的监控工具?如果没有,有谁知道Apache连接大致需要多少内存?

apache memory-management

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

解码websocket框架

我正在尝试解码websocket框架,但在解码扩展的有效负载时我没有成功.这是我到目前为止所取得的成就:

char *in = data;
char *buffer;
unsigned int i;
unsigned char mask[4];
unsigned int packet_length = 0;
int rc;

/* Expect a finished text frame. */
assert(in[0] == '\x81');
packet_length = ((unsigned char) in[1]) & 0x7f;

mask[0] = in[2];
mask[1] = in[3];
mask[2] = in[4];
mask[3] = in[5];

if (packet_length <= 125) {           **// This decoding works**
     /* Unmask the payload. */
    for (i = 0; i < packet_length; i++)
        in[6 + i] ^= mask[i % 4];
    rc = …
Run Code Online (Sandbox Code Playgroud)

decoding websocket

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

IE10在握手后关闭连接

我确实在libevent中实现了一个websocket服务器,虽然我没有Chrome或Firefox的任何问题,使用IE10我甚至无法建立连接.

握手:

IE10 Request:
GET /echo HTTP/1.1
Origin: 95.115.195.4
Sec-WebSocket-Key: rgPWUlUtk+h3CPWqk99OtA==
Connection: Upgrade
Upgrade: Websocket
Sec-WebSocket-Version: 8
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
Host: 95.115.195.4:5555
Cache-Control: no-cache

Server Response:
HTTP/1.1 101 Switching Protocols
Upgrade: Websocket
Connection: Upgrade
Sec-WebSocket-Accept: jGmgQ/jOvew8MU9o3bbqPG9PHlY=
Sec-WebSocket-Protocol: chat
Run Code Online (Sandbox Code Playgroud)

IE10调试器说:SCRIPT12152:WebSocket错误:HTTP响应不正确.状态代码101

谁知道我做错了什么?

谢谢

websocket internet-explorer-10

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

这些调用Perl的打印有什么区别?

以下两个陈述之间的区别在哪里?

print "surname=" ,$myVal, "\n";

print "surname=" .$myVal. "\n"

我测试了它们,两者都返回相同的结果.甚至还有区别吗?

谢谢

perl

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

为什么不阻止JavaScript?

考虑这个JavaScript代码:

<script type="text/javascript">

function loop(Message){
document.getElementById('output').innerHTML = 
document.getElementById('output').innerHTML + Message + '</br>';
}

window.setInterval("loop('Message1')", 1000); //Prints "Message1" every 1 Seconds
window.setInterval("loop('Message2')", 3000); //Prints "Message2" every 3 Seconds

</script>

<body>
<div id="output"></div>
</body>

Output:
Message1
Message1
Message2
Message1
Message1
Message1
Message2
...
Run Code Online (Sandbox Code Playgroud)

现在考虑这个PHP代码:

<?php
while(true){               // Print "Message1" every 1 Second
echo 'Message 1 </br>';
sleep(1);
}



while(true){              //This Code will never be executed, 
echo 'Message 2 </br>';    //because the First Loop Blocks the Process!!!!!
sleep(3);
}

?>

Output:
Message1
Message1 …
Run Code Online (Sandbox Code Playgroud)

javascript

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