並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 8 件 / 8件

新着順 人気順

スレッドセーフの検索結果1 - 8 件 / 8件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

スレッドセーフに関するエントリは8件あります。 programming、 考察、 未分類 などが関連タグです。 人気エントリには 『スレッドセーフなテスト用の時間を固定するライブラリを作った - tenntenn.dev』などがあります。
  • スレッドセーフなテスト用の時間を固定するライブラリを作った - tenntenn.dev

    はじめに time.Now関数を用いたコードをテストする場合、テスト対象のコードに次のような変更を加える必要があります。 引数に現在時刻を渡す パッケージ変数やフィールドなどに現在時刻を返す関数やインタフェースを設定する context.WithValue関数でコンテキストに現在時刻を設ける どの方法を用いてもプロジェクトの初期から考慮する必要があります。途中で変更するとなると修正が箇所を漏れなく探し出す必要があります。また、パッケージ変数に現在時刻を返す関数を設定した場合、テストを並列に実行することを諦める必要が出てくるでしょう。 このような課題を解決するために、testtimeというライブラリを作成しました。 テストの並列実行と時刻の固定 次のようにパッケージ変数を使ってtime.Now関数のラッパーの挙動を変えてテストする手法があります。 var nowFunc func() tim

    • Ruby 3.0正式版リリース。「Ruby 2の3倍速」到達、型の記述、スレッドセーフな並列処理など新機能

      Ruby開発チームは、2020年12月25日にRubyの最新版となる「Ruby 3.0.0」正式版をリリースしました。Rubyは毎年12月25日に最新版がリリースされてきましたが、今回は2013年にRuby 2.0が登場以来7年ぶりのメジャーバージョンアップとなります。 Rubyは以前から実行速度が遅いことが指摘されていたため、Ruby 3はRuby 2の3倍の実行速度を目指す「Ruby 3x3」(ルビースリーバイスリー)構想の下で開発が進められてきました。 そして今回リリースされたRuby 3では、「Optcarrot」と呼ばれるファミコンのエミュレーションによるCPU負荷中心のベンチマークで3倍の性能が達成されたことが示されました。 この性能向上は、ランタイムがインタプリタからJITコンパイラに刷新されたことが大きな役割を果たしています。 そしてJITコンパイラは今後さらに改善されてい

        Ruby 3.0正式版リリース。「Ruby 2の3倍速」到達、型の記述、スレッドセーフな並列処理など新機能
      • ぶらり組込みRustライブラリ探索の旅 BBQueueç·¨ -スレッドセーフなSingle Producer Single Consumer Queue- - Nature Engineering Blog

        ファームウェアエンジニアの中林 (id:tomo-wait-for-it-yuki) です。あけましておめでとうございます。 今年の目標はNature Remoのファームウェア開発にRustを導入すること、です。そこで引くに引けない状況を作り出すためにRustに関するブログエントリを書き、既成事実を積み上げていきます。 ぶらり組込みRustライブラリ探索の旅、と題して組込みRustで使えるライブラリをゆるく紹介していくシリーズをやりたいと思います。第一弾はBBQueueです。 BBQueue 本エントリ内で紹介する使い方や内部実装は、v0.5.1をもとにしています。 github.com https://docs.rs/bbqueue/0.5.1/bbqueue/ 特徴 BBQueueはno_stdで使えるだけでなく、スレッドセーフで、排他制御なしに使える Single Producer

          ぶらり組込みRustライブラリ探索の旅 BBQueue編 -スレッドセーフなSingle Producer Single Consumer Queue- - Nature Engineering Blog
        • スレッドセーフでない Dir.chdir の使用を RuboCop で禁止する / マスタカの ChangeLog メモ

          週刊Railsウォッチ(20200225前編)RubyのShellwordsライブラリは知っておくべき、VCRはやはり有能、copを自作、Hix on Rails記事ほか|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社 RuboCopでコードレビュー支援: Net::HTTPを使わせないcop(Hacklines より) そういえば以前業務で似たことをやったので、メモがてら置いておきます。 Dir.chdir はスレッドセーフではない# Sidekiq で Dir.chdir を使ったら、他のジョブと干渉してハマりました。 Feature #9785: Feature Proposal: Dir.chdir Thread Safety - Ruby master - Ruby Issue Tracking System ↑ こちらの Issue を見つ

          • [Python] Boto3でのスレッドセーフまとめ。3種類のオブジェクトこれだけ覚えておけばOK | DevelopersIO

            基本的にはclientが唯一の(マルチスレッドにおける)スレッドセーフなオブジェクトです。しかしネットワーク実装の関係から、マルチプロセスでは使用しないのが無難なようです。つまりマルチプロセスでは、すべてのBoto3オブジェクトは共有できません。 clientについて補足 clientはそのまま使用する分にはスレッドセーフですが、一部注意しなければいけない点があります。こちらをドキュメントから引用します。 Shared Metadata: Clients expose metadata to the end user through a few attributes (namely meta, exceptions and waiter_names). These are safe to read but any mutations should not be considered thr

              [Python] Boto3でのスレッドセーフまとめ。3種類のオブジェクトこれだけ覚えておけばOK | DevelopersIO
            • PythonのAWSライブラリBoto3のSessionはスレッドセーフではないよという話 | DevelopersIO

              こんにちは。サービスグループの武田です。PythonのAWSライブラリであるBoto3をマルチスレッドで使用したところ少しはまりましたので回避策とともに紹介します。 こんにちは。サービスグループの武田です。 AWSのリソースを操作する方法としてマネジメントコンソールやAWS CLI、そして各プログラミング言語に用意されているSDKが利用できます。人気の高いPythonでは、Boto3というライブラリが提供されています。 さてそのBoto3ですが、基本的な使い方は次のような流れになります。 import boto3 session = boto3.Session() client = session.client("sts") r = client.get_caller_identity() print(r) セッション作成 各サービス用のクライアント作成 API呼び出し 通常であれば、これ

                PythonのAWSライブラリBoto3のSessionはスレッドセーフではないよという話 | DevelopersIO
              • PHPのスレッドセーフ版(TS)とノンスレッドセーフ版(NTS)の違い

                PHPのスレッドセーフ版(TS)とノンスレッドセーフ版(NTS)の違いを理解するには、(1)Webサーバーが同時に複数のHTTPリクエストを処理する方法、(2)Webサーバーがphpと通信する方法、の2つを理解することが必要である。 ここではWebサーバーとしてApacheを例にとって説明する。 Apacheが同時に複数のHTTPリクエストを処理する方法2つの方法がある。 (1) スレッドを使用する方法。即ち、1つのHTTPリクエストに1つのスレッドを割り当てる方法。worker MPMと呼ばれる。 (2) プロセスを使用する方法。即ち、1つのHTTPリクエストに1つのプロセスを割り当てる方法。prefork MPMと呼ばれる。 Windows版のApache 2.系は(1)である。つまりマルチスレッド方式である。 ApacheがPHPと通信する方法これも2つの方法がある。 (1) php

                  PHPのスレッドセーフ版(TS)とノンスレッドセーフ版(NTS)の違い
                • (C#) lock フリーで高速なスレッドセーフ操作 - ネコのために鐘は鳴る

                  C# で排他制御をしたい場合いくつか方法があります。何も考えずに雑にlock構文を書くだけで同期は取れるのですが、より高度にパフォーマンスチューニングしたい場合のため、効率的な方法を紹介します。 例えば以下のようなものがあるとします。 // スレッドセーフではないもの public static class Foo { private static int[] _array = new int[10]; private static int _updateCount; public static void SetValue(int index, int value) { _array[index] = value; _updateCount++; } public static (int value, int updateCount) GetValue(int index) { retur

                    (C#) lock フリーで高速なスレッドセーフ操作 - ネコのために鐘は鳴る
                  1

                  新着記事