小编Sou*_*jan的帖子

jQuery UI模式对话框没有阻塞

我是javascript和jQuery的新手.我正在尝试使用jQuery UI小部件实现模式对话框.

模式对话框使用"确定"和"取消"按钮正确显示,但对话框("打开")函数调用似乎没有阻止并等待"确定"或"取消"单击.例如,当我运行以下代码时

.....按钮点击

  okToDelete = false; //a global variable
  $('deleteDialog').dialog('open'); //this does not block but returns immediately
  alert(okToDelete == true ? "ok" : "false");
Run Code Online (Sandbox Code Playgroud)

首先显示警告框,然后显示模态对话框!okToDelete是一个全局变量,当我输入函数并在OK按钮回调中设置为true时,我将其设置为false.

这是我的对话框初始化函数

$("#deleteDialog").dialog({
        bgiframe: true,
        autoOpen: false,
        modal: true,
        overlay: {
            backgroundColor: '#000',
            opacity: 0.5
        },
        buttons: {
            Cancel: function() {
                $(this).dialog('close');

            },
            Ok: function() {
                $(this).dialog('close');
                okToDelete = true;
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

jquery user-interface dialog modal-dialog blocking

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

.NET Backgroundworker对象的线程优先级

我正在尝试在我正在开发的应用程序中使用.NET Backgroundworker对象.

互联网上的所有资料都说这个对象在"背景"中运行,但我无法确认这个后台线程确实以"低优先级"模式运行.出现这个问题是因为在Windows中(我假设)后台任务可以在"正常"或"低于正常"或"低"优先级模式下运行.

在我的应用程序中,我尝试通过调用...在DoWork函数内设置优先级...

Thread.CurrentThread.Priority=ThreadPriority.Lowest
Run Code Online (Sandbox Code Playgroud)

...

但这似乎没有效果.后台工作者是否忽略此调用?

我想解释一下:

我的应用程序是一个互联网客户端,从一个房间收集有关温度,湿度等的实时数据,并使用上传到网页(不是网络服务)

system.net.webclient.UploadValuesAsync(...) 电话

我编写了应用程序,以便客户端GUI收集来自分庭的数据,给它们加上时间戳,然后将它们排队等待上传,就像这样

...

Synclock objlock
    debug.print("Queueing reading...")
    dataQ.Enque(reading)
End Synclock
...
Run Code Online (Sandbox Code Playgroud)

backgroundworker的Dowork函数出列然后上传,就像这样......

..............

Do
        if dataQ.count() <> 0 then
            Synclock objlock
              reading = dataQ.DeQue()
            End Synclock
            Dim client As New System.Net.WebClient
            ...put the reading in NameValueCollection and upload to server page
            req = new NameValueCollection
            ...
            ...
            client.UploadValuesAsync(uri, "POST", req)
        endif
        thread.sleep(1) 'without this line the CPU usage goes upto 100% and seems to slow other tasks!
    Loop …
Run Code Online (Sandbox Code Playgroud)

.net multithreading backgroundworker

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

继承自List(of T)类的问题

我想实现一个优先级队列类.当以更高的优先级添加项目时,它将被推送到队列的前面,而不是添加到队列的末尾.

简单的几行代码

Public Class PriorityQueue(Of T)
    Inherits List(Of T)

    Private _list As New List(Of T)

    Public Sub Enque(ByVal item As T, Optional ByVal pushToFront As Boolean = False)
        If pushToFront = True Then
            _list.Insert(0, item)
        Else
            _list.Add(item)
        End If
    End Sub
    Public Function Deque() As T
        If _list.Count <> 0 Then
            Dim item As T = _list(0)
            _list.RemoveAt(0)
            Return item
        Else
            Throw New InvalidOperationException
        End If
    End Function
   End Class
Run Code Online (Sandbox Code Playgroud)

现在调用函数试图找到队列中的元素....

dim _q as new PriorityQueue(Of integer)
_q.Enque(1)
_q.Enque(2)
msgbox(_q.Count()) …
Run Code Online (Sandbox Code Playgroud)

.net vb.net inheritance list

5
推荐指数
2
解决办法
6016
查看次数

.NET秒表类限制

这可能不完全不是.NET相关的问题.我正在编写一个.NET应用程序来控制一些小工具.我定期向小工具发送命令(比如每500毫秒).一旦我发送命令,我就会启动一个计时器.(.NET秒表类)

如果小工具在10毫秒内没有响应,我再次发送命令.如果确实响应,我会继续通过发送更多命令和处理响应来监控小工具状态.

我有2个或3个秒表计时器同时运行,为这个小工具做其他事情.

现在,我想监视和控制可能数以千计的这些小工具(可能高达5000).如果我为小工具创建一个对象,我将查看并行运行的10000到15000个秒表对象.我不确定秒表是如何工作的,但我认为他们依靠硬件计时器或某些东西来跟踪时间.

我的问题是,Windows可以同时处理如此大量的秒表吗?

.net windows stopwatch hardware-interface

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