タグ

threadに関するstarsky5のブックマーク (28)

  • Effective Java 読書会 11 日目 「Java マルチスレッド難しいいい」 - IT戦記

    はじめに 順番が前後しますが、都合上「並行性」の章を先に書きたいと思います。 読んだところ 251 ページ 〜 268 ページ 前回はこちら Effective Java 読書会 10 日目 「Java の基テクニック集」 - IT戦記 同期とは何か 同期 = 原子性 + 可視性 原子性(アトミック性) データの状態遷移の過渡的な不整合な状態が(どのスレッドからも)見えないという性質。 適切に相互排他することでデータの原子性を保証できる。(保護されたコードを実行できるスレッドは一つだけ。) 可視性(ビジビリティ) (どのスレッドからも)同じ値が見えるという性質。 普通、変数やフィールドの値はスレッドごとにキャッシュ(レジスタなど)されるなどしていて、スレッド間での同値性は保証されない。 同期するというのは、原子性を保証することだけではなく、可視性も保証することだということを忘れてはいけな

    Effective Java 読書会 11 日目 「Java マルチスレッド難しいいい」 - IT戦記
  • Google I/O Writing Real-Time Games for Android - dann's blog

    http://www.youtube.com/watch?v=U4Bk5rmIpic Androidで開発するためのパフォーマンス上の工夫について、色々と述べられているので面白いですね。大分特殊な感じの開発になるかなという印象です。Android上では、オブジェクト指向開発は忘れてしまわないといけなそうです。 全体のデザイン 3つのスレッドに分けている Main Thred Game Thread non rendering parts of the game Rendering threadをblocking Rendering thread Controlled by a Surface Holder OpenGL every frame メモリー管理 Never allocate memory or release it. GCが発生するとゲーム系は止まるからダメ。 100〜300m

    Google I/O Writing Real-Time Games for Android - dann's blog
  • http://www.itarchitect.jp/technology_and_programming/-/10943.html

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Ruby1.9は継続と“Fiber”をサポート ― @IT

    2007/06/12 RubyKaigi2007レポート(前編)に続いて、RubyKaigi2007で明らかになった技術的な内容についてもお伝えしよう。 次世代のRuby処理系「Ruby1.9」開発の中心人物である笹田耕一氏は、「Ruby1.9実装の現状と今後」と題して講演し、「Ruby1.9は、今年(2007年)12月に出る」とスケジュールを改めて確認した。過去のRuby処理系のリリースは予定通りに出ないことが通例だったが、この「2007年12月」というスケジュールは、2006年8月に開催された軽量言語に関するイベント「Lightweight Language Ring」の場で公表されて以来、何回か強調されている。開発メンバーたちが自分自身に言い聞かせるための念押しなのかもしれない。「ちょっと品質が悪くても、1.9.1を2007年12月25日にリリースする」(笹田氏)。バグが取れた処理系

  • セマフォ - Wikipedia

    語源の腕木式信号機 セマフォ(英: semaphore)とは、計算機科学において、並行プログラミング環境での複数の実行単位(主にプロセス)が共有する資源にアクセスするのを制御する際の、単純だが便利な抽象化を提供する変数または抽象データ型である。 概要[編集] セマフォは、ある資源が何個使用可能かを示す記録と考えればわかりやすく、それにその資源を使用する際や解放する際にその記録を「安全に」(すなわち競合状態となることなく)書き換え、必要に応じて資源が使用可能になるまで待つ操作が結びついている。セマフォは競合状態を防ぐ便利なツールであるが、セマフォを使うことでプログラムにおける競合状態がなくなると保証するものではない。任意個の資源を扱うセマフォをカウンティングセマフォ、値が0と1に制限されている(ロック/アンロック、使用可能/使用不可の意味がある)セマフォをバイナリセマフォと呼ぶ。後者はミュー

    セマフォ - Wikipedia
  • ithread を使って処理の高速化の例

    Perl5.8 では、ithread というスレッドモデルが採用されました。XML や SOAP といった通信処理を書くと、応答を待っている時間が非常にもったいない。例えば、サイトをクロールするときとかは通信時間がバカにならないので、並列化は特に有効です。 ちょっとした実験をしてみたのですが、概ね良好な結果が得られたので、随所にスレッド処理を施そうと思います。 例えば、Amazon Web Service の並列取得なんかを実験してみると、 #!/usr/bin/perl -w use strict; use LWP::Simple; use XML::Simple; use threads; use Thread::Queue; my @sites = ( 'http://xml.amazon.co.jp/onca/xml3?&dev-t=DAB7UJEE24RXR&t=drk7jp-2

  • 株式会社アンタス - 次の時代のマーケティングテクノロジーを

    年末年始休業のお知らせ お客様各位 毎度格別のご愛顧をうけ賜りありがとうございます。 誠に勝手ながら下記日程で休業とさせていただ... NEWS アンタスのエンジニア 異業種からの転職4 エンジニア紹介 塾講師として理系の受験生のために尽力してきた鶴谷君。前職でWEBシステムに携わったことがき... BLOG

    株式会社アンタス - 次の時代のマーケティングテクノロジーを
  • Django におけるスレッド - forest book

    Threading in Django | Artful Code 稿は上記リンク元の和訳になります 転載ミス、誤訳等については適宜修正します web 開発で利便性の高いスレッドの使用方法は珍しく、特に Python のグローバルインタープリタロックと共に使用するのは稀です。これに対して、幾つか注目すべき例外があります。 グローバルインタープリタロック(GIL) は、全ての Python オブジェクトがスレッドセーフではないとき、内部的なスレッドセーフを維持するために使用するメソッドです。GIL は、Python オブジェクトが同時に複数のスレッドによって変更されないことを保証します。これは Python プログラマに対して透過的で、GIL は内部構造をロックしています。明示的にロックされずに複数スレッドによって変更されるリストは、不規則的な動作もするでしょう。 これは web 開発にお

    Django におけるスレッド - forest book
  • スレッド (コンピュータ) - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "スレッド" コンピュータ – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2017年5月) スレッド(thread)とは、コンピュータプログラムにおいて特定の処理を行うための一貫性のある命令の流れのことであり、プロセッサ利用の最小単位[1]。プロセスは少なくとも1つ以上のスレッドを含む。一般的に各プロセスには独立した仮想アドレス空間が割り当てられるが、プロセス内のスレッド群はアドレス空間を共有する。そのためプログラムを実行するときのコンテキスト情報が最小で済み、同じプロセス内でスレッドを切り替える際はアドレス空間の切り替えが不要となるので、

  • eventlet - Doge log

    eventletを少し調べてみた。意外にいい。 twistedよりも軽量(コード量などが) コルーチン生成にgreenletを使用。自前のスタックを使っての継続処理 コルーチンで協調スレッド(co-operate)を実現 socketメソッド、sleepでコンテキストスイッチが発生し、他に処理を譲る(待ちが発生するところでスイッチする) I/O多重化部はselect,poll,libevent(pyevent)から選べる。pyeventがあればそれを優先 mod_wsgiブリッジを持つ。wsgiに対応してればうごかせる。(但し、DBを使ってるとその処理でブロックする。DB処理もeventlet風に修正する) twistedサポートがある。EventReactorをインストールできる nginxサポートがある。フロントエンドnginxを使用 backdoor。python interpre

    eventlet - Doge log
  • 軽量スレッドブームだと思うので、そこらへんの情報をまとめてみる - 金利0無利息キャッシング – キャッシングできます - subtech

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    軽量スレッドブームだと思うので、そこらへんの情報をまとめてみる - 金利0無利息キャッシング – キャッシングできます - subtech
  • Python のジェネレータ (1) - 動作を試す

    1. イテレータとはコンテナの要素を走査するためのオブジェクト これまでに Python の リスト内包表記、イテレータ について調べた。 次は、「ジェネーレータ」。 Python のジェネレータを理解するには、イテレータの理解が不可欠。ジェネレータについて調べる前に、イテレータの復習から行う。 a. イテレータの役割 Python のドキュメント「9. クラス」 における「9.8 イテレータ」の説明を確認すると、 イテレータの使用は Python 全体に普及していて、統一性をもたらしています。背後では、for 文は コンテナオブジェクトの iter() を呼び出しています。… イテレータは、Python において特別扱いされており、for 文と密接な関わりを持っている。 … この関数は next() メソッドの定義されたイテレータオブジェクトを返します。 next() メソッドは一度コン

    Python のジェネレータ (1) - 動作を試す
  • sh1.2 pyblosxom : pythonのthread/threadingモジュールを見てみた

    Blog: threadの動作の違うよ。 - Humming Via Kitchen を見てちょっと気になった のでPythonのコードを見てみた。(via 常山日記 ) threadモジュールを使ったサンプルは、簡単に書くとこんな感じのコード。 import thread def run(): # do something def main(): thread.start_new_thread(run, ()) pthread_join()に相当する関数を呼んでないからmain()関数が終了しちゃったら実行途中 のthreadも終了させられちゃってるんじゃない?と思ってthreadモジュールのマニュアル を見ると、なんとjoin()に相当する関数ないんだね。 どうやってスレッドの終了時の同期をとるんだ?そもそもPythonのソースコードを検索し てもpthread_join()はどこでも

  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • はてなブログ | 無料ブログを作成しよう

    【自分語り】1推しの卒業によせて . 私の1推し、ゆきりんこと柏木由紀ちゃんが、17年に渡り在籍したAKB48を卒業することになった。 この機会に、ゆきりん推し(48ファン)としての自分自身のことをすべては不可能であるものの振り返ろうと思う。 内容からして世代がわかることも仕方ないし、限りなくゼ…

    はてなブログ | 無料ブログを作成しよう
  • 複数のHTTPリクエストを投げるときはNSOperationを使おう - A Day In The Life

    現在、iPhone SDKで簡単なマッシュアップアプリを作成中です。マッシュアップアプリなので一度の操作でいろんなところにHTTPリクエストを投げる必要があるのですが、そんな時にNSOperationを使うとものすごく便利です。NSOperationを使うことで複数のHTTPリクエストを同時並行で処理できるようになります。 使い方はいたって簡単でNSOperationクラスのサブクラスを用意して、そこでHTTPリクエストの処理をしてあげるだけです。 @interface RequestOperation : NSOperation { NSURL *url; NSMutableData *responseData; BOOL isExecuting, isFinished; } - (id)initWithURL:(NSURL *)targetUrl; @end @implementati

    複数のHTTPリクエストを投げるときはNSOperationを使おう - A Day In The Life
  • sonson@Picture&Software - [Objective-C] NSOperationQueue - NSOperation

    Leopardから提供されたマルチスレッド用のクラス.マルチコア処理向けに提供されたものらしい.Appleのホームページにも以下のように書かれている.noviさんのTwitterでの発言で知ったAPIなのだが,非常に便利で使いやすい. アップルのエンジニアの成功の秘訣は、NSOperationを 使ったこと。 NSOperationは、マルチコア処理のために アプリケーションを最適化する、画期的な新しいAPIです 。NSOperationが計算(演算)のグループをNSOperati onQueueに追加し、現在のアーキテクチャをもとに、並 列処理の演算回数を動的に決定してくれます。複雑なスレ ッディングとロッキングのマニュアルコーディングは一切 不要。プログラムで演算と従属性を指定するだけで、あと はCocoaが処理してくれます。 NSOperationおよびNSOperationQueu

  • NSOperationによるバックグラウンド処理 - Objective-Audio

    NSOperationってCoreAnimationみたいな派手な機能と違って、あまり解説されていない気がするので、使い方を書いておきます。オーディオのアプリケーションでも、読み込んだオーディオファイルの波形の画像をバックグラウンドで作っておいて、出来上がったら表示するみたいな事にも使えると思いますので。(※2008/5/12 記事にNSInvocationOperation等いろいろ修正を加えています。GCなしにも対応のはず。) NSOperationを使う NSOperationのサブクラスのmainメソッドにバックグラウンドで行いたい処理を記述しておき、そのインスタンス(以後、オペレーション)を作成して、NSOperationQueueのインスタンス(以後、キュー)のaddOperationメソッドに渡すと、あとは勝手にバックグラウンドで処理してくれます。キューへ渡した後にオペレーシ