Есть ли какие-либо различия между “блокировкой” “синхронизируемого” и C# Java?

Ваш массив:

$array = [
['value' => 100, 'tag' => 'a'],
['value' => 200, 'tag' => 'b'],
['value' => 300, 'tag' => 'a'], 
];

Чтобы найти записи с помощью условий, вы можете сделать это

$newArray = array_values(array_filter($array, function($n){ return $n['value'] >= 101 && $n['value'] <= 400; }));

При этом вы можете установить значения, минимальные и максимальные числа.

Если вы хотите установить только минимальное число, вы можете опустить максимальное значение следующим образом

$arrayByOnlyMin = array_values(array_filter($array, function($n){ return $n['value'] >= 199; }));

Это вернет:

 array(2) {
 [0]=>
    array(2) {
      ["value"]=>
      int(200)
      ["tag"]=>
      string(1) "b"
    }
 [1]=>
   array(2) {
      ["value"]=>
      int(300)
      ["tag"]=>
      string(1) "a"
    }
}

, так что звонит $arrayByOnlyMin[0] даст вам первую запись, которая соответствует вашему минимальному условию.

14
задан Peter O. 24 September 2013 в 13:51
поделиться

3 ответа

Согласно этому сайту: http://en.csharp-online.net/CSharp_FAQ:_What_is_the_difference_between_CSharp_lock_and_Java_synchronized, C# lock и Java synchronized блоки кода "семантически идентичны", в то время как для методов, Java использует synchronized в то время как C# использует атрибут: [MethodImpl(MethodImplOptions.Synchronized)].

10
ответ дан 1 December 2019 в 14:22
поделиться

Одно интересное различие, не охваченное в ссылке, отправленной Keeg: насколько я знаю, нет никаких эквивалентных вызовов метода в Java для Монитора.NET. Войдите и Монитор. Выход, который C# lock оператор сводится к. Это означает, что Вы не можете сделать эквивалента Монитора. TryEnter любой - хотя, конечно, java.util.concurrent.locks пакет (с 1,5) имеет множество блокировок, которые имеют больше функций в наличии.

5
ответ дан 1 December 2019 в 14:22
поделиться

Я Java, который Вы не должны волновать по поводу блокировки открытых типов, которыми Вы владеете.

В.NET Вы имеете к

Обновленный: это для типов, которыми Вы владеете. Соединение открытых типов, которыми Вы не владеете, плохо на любом языке :)

-1
ответ дан 1 December 2019 в 14:22
поделиться