问题列表 - 第13801页

C#多线程 - 使用什么方法?

我的目标是编写一个程序,根据给定的用户输入处理任意数量的任务.

假设在这种情况下,任务数量为1000.

现在,我希望能够生成动态数量的线程并逐个开始处理任务.

我认为我需要使用"同步"方法,而不是"异步"方法,以便在一个任务出现问题的情况下,我不希望它减慢其余任务的完成速度.

我将用什么方法来实现上述目标?信号灯?线程池?如何确保线程不会尝试启动已由另一个线程处理的任务?"锁定"会处理这个吗?

我们将非常感谢代码示例和/或指向正确方向的网站链接.

编辑: MSDN Fibonacci示例的问题是waitall方法最多只能处理64个等待.由于1000项任务,我需要更多.如何解决这种情况而不会造成死锁?

c# multithreading

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

ANTLR运算符优先级

如何在ANTLR中实现运算符优先级?

我目前正在使用XText/Antlr包.

编辑:

我做了sepp2k建议的,现在运算符优先级有效,但是3 +*这样的东西现在也可以工作了.操作员基本上"摔倒"树.

另外,我在ANTLR的网站上尝试了C语法,同样的事情发生在ANTLRworks中.

谁知道问题是什么?

BinaryExpression:
  'or'? AndOp; //or op

AndOp:
  'and'? ComparisonOp;

ComparisonOp:
  ('>'|'<'|'>='|'<='|'=='|'~=')? ConcatOp;

ConcatOp:
  '..'? AddSubOp;

AddSubOp:
  ('+' | '-')? MultDivOp;

MultDivOp:
  ('*' | '/')? ExpOp;

ExpOp:
  '^'? expr=Expression;
Run Code Online (Sandbox Code Playgroud)

compiler-construction antlr xtext

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

人们为改善OpenID用户体验做了哪些工作,特别是作为依赖方?

我注意到,与不同依赖方签约的用户体验存在巨大差异.我自己实现了一些依赖方,所以我已经有了一些想法,但我很想知道其他人有什么有效,什么没有.经验证据(OpenID登录统计数据之前/之后)将是理想的,但轶事的东西也很好.即便是小调整也会很有趣.

身份提供者对这个等式有多大影响?雅虎的实施显然很糟糕,而myOpenID非常好.Verisign是类似金库的,我开始认为这会严重影响用户体验.但其他人呢?您是否看到用户与一个提供商相比有更多问题?

如果有的话,最好的做法是什么呢?

openid usability user-experience single-sign-on

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

从指针计算数组索引

我和一些同行正在研究游戏(Rigs of Rods)并且正在尝试将OpenCL集成到物理计算中.与此同时,我们正在尝试对数据结构进行一些急需的清理工作.我想我应该说我们正在尝试清理我们的数据结构并注意OpenCL的要求.

使用开放CL的一个问题是由于内存空间不同而无法使用指针.从我对OpenCL的了解很少,将所有数据复制到GPU上然后执行计算,指针值将被复制,但地址不会与预期的地址相对应.

有问题的数据集中在一个数组中,当对象需要该数据时,它们使用指向所需对象的指针,或存储数组索引.

解决OpenCL的一个解决方案是使用数组索引而不是指针.这导致硬耦合,可能导致后来的头痛.作为一种解决方案,我有想法根据起始地址和当前地址计算数组索引.这当然只适用于连续数组.

我写了一个示例应用程序来测试它,它工作得很好,有些人也在不同的平台上验证它.

#include <iostream>

typedef struct beam_t
{
 unsigned int item;
} beam_t;

#define GLOBAL_STATIC_ASSERT(expr, msg)   \
  extern char STATIC_ASSERTION__##msg[1]; \
  extern char STATIC_ASSERTION__##msg[(expr)?1:2]


#ifdef __amd64
typedef unsigned long pointer_int;
#else
typedef unsigned int pointer_int;
#endif
GLOBAL_STATIC_ASSERT(sizeof(pointer_int) == sizeof(pointer_int*), integer_size);
#define MAX_BEAM 5


int main ()
{
 beam_t beams[MAX_BEAM];
 beam_t* beam_start = &beams[0];
 beam_t* beam_ptr = NULL;

 std::cout << "beams: " << &beams << "\n";

 for( pointer_int i = 0; i < MAX_BEAM; ++i ) …
Run Code Online (Sandbox Code Playgroud)

c++ pointers cuda opencl

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

许多类型的String(ByteString)

我希望压缩我的应用程序的网络流量.

根据(最新的?)"Haskell流行度排名",zlib似乎是一个非常受欢迎的解决方案.zlib的界面使用ByteStrings:

compress :: ByteString -> ByteString
decompress :: ByteString -> ByteString
Run Code Online (Sandbox Code Playgroud)

我使用定期Strings,这也是由所使用的数据类型read,show以及Network.Socket:

sendTo :: Socket -> String -> SockAddr -> IO Int
recvFrom :: Socket -> Int -> IO (String, Int, SockAddr)
Run Code Online (Sandbox Code Playgroud)

所以要压缩我的字符串,我需要一些方法将a转换String为a ByteString,反之亦然.在hoogle的帮助下,我发现:

Data.ByteString.Char8 pack :: String -> ByteString
Run Code Online (Sandbox Code Playgroud)

试着用它:

Prelude Codec.Compression.Zlib Data.ByteString.Char8> compress (pack "boo")

<interactive>:1:10:
    Couldn't match expected type `Data.ByteString.Lazy.Internal.ByteString'
           against inferred type `ByteString'
    In the first …
Run Code Online (Sandbox Code Playgroud)

haskell bytestring

16
推荐指数
3
解决办法
4382
查看次数

jQuery直播,改变不在IE6,IE7中工作

下面的代码在FF中按预期工作,但在IE中没有...

$(document).ready(function() {

    $('div.facet_dropdown select').live('change', function() {
        var changed_facet = $(this).attr('id');
        var facets = $('select', $(this).closest('form'));
        var args = window.location.href.split('?')[0] + '?ajax=1';
        var clear = false;
        for(var i = 0; i < facets.length; i++) {
            var ob = $(facets[i]);
            var val = ob.val();
            if(clear) {
                val = '';
            }
            args += '&' + ob.attr('id') + '=' + val;
            if(ob.attr('id') == changed_facet) {
                clear = true;
            }
        }

        $.getJSON(args, function(json) {
            for(widget_id in json) {
                var sel = '#field-' + widget_id …
Run Code Online (Sandbox Code Playgroud)

javascript jquery internet-explorer

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

快速取幂:real ^ real(C++ MinGW,Code :: Blocks)

我正在编写一个应用程序,在某个块中我需要对3*500*500次的实数进行取幂.当我使用exp(y*log(x))算法时,程序明显滞后.如果我使用基于数据类型的另一种算法,它会明显加快,但该算法不是很精确,虽然为模拟提供了不错的结果,但在速度方面仍然不完美.

对于比exp(y*log(x))更快的实际功率,是否有任何精确的取幂算法?

先感谢您.

c++ floating-point exponentiation

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

Python MySQL - SELECT工作但不是DELETE吗?

我是Python和Python的MySQL适配器的新手.我不确定我是否遗漏了一些明显的东西:

db = MySQLdb.connect(# db details omitted)
cursor = self.db.cursor()

# WORKS
cursor.execute("SELECT site_id FROM users WHERE username=%s", (username))
record = cursor.fetchone()

# DOES NOT SEEM TO WORK
cursor.execute("DELETE FROM users WHERE username=%s", (username))
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python mysql select sql-delete

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

用Reflection覆盖私有方法

是否可以通过在.NET 3.5中使用Reflection来覆盖私有方法?

.net c# reflection overriding

9
推荐指数
2
解决办法
8099
查看次数

如何从地址确定CLLocation或MKPlacemark?

我已经看过关于如何进行反向地理编码的演示之后的API文档和演示 - 获取一个地址,给定一个Lat/Long位置.我需要做相反的事情.我假设这已经解决了问题,因为Apple的MapKit API完全避免了它.

iphone geocoding mapkit iphone-sdk-3.0

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