小编dso*_*ano的帖子

C#ASP.NET线程安全静态只读字段

我的ASP.NET项目中有以下代码

public sealed class IoC
{
    private static readonly IDependencyResolver resolver =
        Service.Get("IDependencyResolver") as IDependencyResolver;

    static IoC()
    {
    }

    private IoC()
    {
    }

    public static IDependencyResolver Container
    {
         get
         {
             return resolver;
         }
    }
}

public static class Service
{
    public static object Get(string serviceName)
    {
        // Code to create and return instance...
    }
}
Run Code Online (Sandbox Code Playgroud)

IoC.Container是否是线程安全的?

asp.net thread-safety

8
推荐指数
1
解决办法
1565
查看次数

串口环回/双工测试,用Bash还是C?(流程替代)

我有一个串行设备设置为环回(意味着它将回显它收到的任何字符),我想测量有效的吞吐速度.为此,我希望我可以使用time,如同

time bash -c '...'
Run Code Online (Sandbox Code Playgroud)

哪个' ...'将是一些我可以运行的命令.

现在,第一个问题是我想以2000000 bps的速度使用设备,所以我不能使用 ttylog屏幕(它们似乎都只能达到115200 bps).但是,使用/dev/ttyUSB0文件(使用文件重定向和cat)似乎工作正常:

# initialize serial port
stty 2000000 -ixon icanon </dev/ttyUSB0

# check settings
stty -a -F /dev/ttyUSB0

# in one terminal - read from serial port
while (true) do cat -A /dev/ttyUSB0 ; done

# in other terminal - write to serial port
echo "1234567890" > /dev/ttyUSB0

# back to first terminal, I now have:
# $ while (true) do …
Run Code Online (Sandbox Code Playgroud)

c linux bash serial-port loopback

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

如何在Ubuntu 10.1下识别多个USB串行适配器

我正在Ubuntu 10.1下从多个相同的USB串行适配器读取数据.

有时,它们的/ dev/tty路径会发生变化(例如,如果启动时连接了其他USB设备).

我需要一种通过任何此类更改重复引用相同适配器的方法.

根据udevadm,这些设备都具有相同的序列号.

我认为最可能的选择是识别连接到哪个端口的适配器(它们不会被移动).

我可以找到可能有用的各种有趣的/ dev路径,但是尽管有关于udev在线的所有讨论,但是如果设备插入静态端口,我找不到关于这些路径中的某些路径是否是静态的明确声明.

linux usb ubuntu usbserial identification

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

为什么要使用JCL UNITVERSIONING?

JCL库具有条件定义UNITVERSIONING.我不知道为什么这个选项存在,不知道如何使用它.我知道有一个叫做JclUnitVersioning.pas的单位,但找不到用处.

在真正的单词项目中何处使用它?

delphi jedi-code-library

8
推荐指数
1
解决办法
638
查看次数

System.ServiceModel.Channels.BufferManager是线程安全的吗?

我通过静态成员创建一个缓冲区管理器BufferManager.CreateBufferManager.创建的这个新BufferManager线程由多个线程使用.

我应该使用lockwith TakeBuffer()和/ ReturnBuffer()或设计是线程安全的吗?

c# thread-safety buffer-manager

8
推荐指数
1
解决办法
1045
查看次数

Delphi JCL 7zCompression可以在没有文件操作的情况下压缩/解压缩内存流吗?

我之前使用过TJcl7zCompressArchive/TJcl7zDecompressArchive进行存档操作.

现在我想直接压缩/解压缩内存流而无需文件操作.但是,当看到在网上搜索JCL演示的示例时,我找不到使用该lib的方法.我确实找到了其他工具,但压缩比似乎不如7zip.

任何人都可以提供一些指示或示例代码,说明如何实现这一目标 非常感谢!

delphi 7zip jedi-code-library

8
推荐指数
1
解决办法
3672
查看次数

最终字段和线程安全

它应该是有目的不可变的java类'final'的所有字段,包括超级字段,以便是线程安全的,还是没有修饰符方法?

假设我有一个非最终字段的POJO,其中所有字段都是某些不可变类的类型.这个POJO有getter-setters,以及一个构造函数,它设置了一些初始值.如果我使用敲除修饰符方法扩展此POJO,从而使其不可变,扩展类是否是线程安全的?

java immutability thread-safety

8
推荐指数
1
解决办法
8565
查看次数

Arduino map()方法 - 为什么?

我只是看一些示例代码并遇到了一条线,我不完全理解为什么需要这样做.我知道你正在接受一个模拟值.这个值显然在0到1024之间?为什么是这样?为什么输出需要映射在0到255之间?是什么决定了这里使用的论点?有问题的一行:

   // map it to the range of the analog out:
      outputValue = map(sensorValue, 0, 1024, 0, 255); 
Run Code Online (Sandbox Code Playgroud)

代码中突出显示:

created 29 Dec. 2008
 Modified 4 Sep 2010
 by Tom Igoe

 This example code is in the public domain.

 */

// These constants won't change.  They're used to give names
// to the pins used:
const int analogInPin = A0;  // Analog input pin that the potentiometer is attached to
const int analogOutPin = 9; // Analog output pin that the …
Run Code Online (Sandbox Code Playgroud)

mapping serial-port signal-processing arduino digital

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

perl regex用于提取多行块

我有这样的文字:

00:00 stuff
00:01 more stuff
multi line
  and going
00:02 still 
    have
Run Code Online (Sandbox Code Playgroud)

所以,我没有一个块结束,只是一个新的块启动.

我想以递归方式获取所有块:

1 = 00:00 stuff
2 = 00:01 more stuff
multi line
  and going
Run Code Online (Sandbox Code Playgroud)

等等

波纹管代码只给我这个:

$VAR1 = '00:00';
$VAR2 = '';
$VAR3 = '00:01';
$VAR4 = '';
$VAR5 = '00:02';
$VAR6 = '';
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

my $text = '00:00 stuff
00:01 more stuff
multi line
 and going
00:02 still 
have
    ';
my @array = $text =~ m/^([0-9]{2}:[0-9]{2})(.*?)/gms;
print Dumper(@array);
Run Code Online (Sandbox Code Playgroud)

regex perl

8
推荐指数
1
解决办法
3742
查看次数

Raspberry Pi UART系列无法正常工作

我试图通过串行连接(GPIO UART引脚)在Raspberry Pi(B型号,raspian wheezy)和STM32F4板之间发送/接收数据.

要设置串口,我按照以下几个教程中的所有步骤进行操作:http://elinux.org/RPi_Serial_Connection#Preventing_Linux_using_the_serial_port

当无法获取到STM32F4板的连接,我读了你可以在本地测试的PI串口,如果你只需连接TX,RX引脚关PI海誓山盟,它应该只是重复Minicom中输入的数据.

遗憾的是,这也不起作用.

文件'cmdline'和'inittab'中ttyAMA0的设置正常.(如许多教程中所述)

并且还尝试了https://github.com/lurch/rpi-serial-console的自动配置程序

直接将RX连接到rpi上的TX引脚不会在minicom中提供任何输出.我还尝试了一个重复给定输入的python脚本.似乎什么都没有用,我有点迷失在这里.

Minicom启动命令应该是正确的(尝试使用不同的波特率):

root@raspberrypi:/home/jef# minicom -b 9600 -o -D /dev/ttyAMA0

OPTIONS: I18n
Compiled on Apr 28 2012, 19:24:31.
Port /dev/ttyAMA0
Run Code Online (Sandbox Code Playgroud)

在minicom的底部,它总是显示离线状态:

CTRL-A Z for help |  9600 8N1 | NOR | Minicom 2.6.1  | VT102 |      Offline
Run Code Online (Sandbox Code Playgroud)

当使用python nothinig检查可用的串口时,会抛出:

python -m serial.tools.list_ports
no ports found
Run Code Online (Sandbox Code Playgroud)

用户在dailout组中,因此不应该是问题(以root和non root身份尝试):

root@raspberrypi:/home/jef# id
uid=0(root) gid=0(root) groups=0(root),20(dialout),1001(indiecity)
Run Code Online (Sandbox Code Playgroud)

验证getty不再使用串口:

root@raspberrypi:/home/jef# ps aux | grep getty
root      2809  0.0  0.1   3740   804 tty1     Ss+  10:36 …
Run Code Online (Sandbox Code Playgroud)

serial-port uart raspberry-pi

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