タグ

threadに関するsh2nm0k2のブックマーク (12)

  • FFmpegコマンドラインツールのマルチスレッド化が完了、開発者いわく「数十年で最も複雑な修正」

    オープンソースのマルチメディアフレームワーク「FFmpeg」の開発チームがコマンドラインツールのマルチスレッド化完了を報告しました。開発チームは一連の作業を「ここ数十年で最も複雑なリファクタリング」と表現しています。 FFmpeg CLI multithreading is now merged! https://t.co/uUJ0SF0opw— FFmpeg (@FFmpeg) FFmpegは非常に多くの種類の動画ファイルや音声ファイルを処理可能なマルチメディアフレームワークで、動画および音声ファイルの再生やトリミング、変換、圧縮など多様な操作が可能です。FFmpegは直接コマンドラインから使えるほか、数多くの動画再生ソフトや動画編集ソフト、ストリーミングサービスなどに組み込まれて広く利用されています。 FFmpegはエンコーダーやデコーダー、マルチプレキサ、デマルチプレキサ、フィルター

    FFmpegコマンドラインツールのマルチスレッド化が完了、開発者いわく「数十年で最も複雑な修正」
  • Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ

    技術部の笹田です。今日で退職するので、バタバタと返却などの準備をしています。 記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもに RubyKaigi 20222023 で発表した内容をもとにご紹介します。 並行と並列はよく似た言葉ですが、記事では次のような意味で使います。 並行処理(concurrent processing)は、「複数の独立した実行単位が、待っていればいつか終わる(もしくは、処理が進む)」という論理的な概念で、古典的にはタイムシェアリングシステムなどが挙げられます。 並列処理(parallel processing)は、「複数の独立した実行単位のうちのいくつかが、あるタイミングで同時に動いている」という物理的な概念で、古典的には複数のCPU上で同時に実行させる、というものです。最近では、1つのCPU上で複数コアが同時に動いている、という

    Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ
  • iOSで最も簡単にマルチスレッド処理を行う方法(NSOperationQueue) - Qiita

    func test2() { let queue = NSOperationQueue() queue.addOperationWithBlock { () -> Void in println("Some Operation.") } queue.addOperationWithBlock { () -> Void in println("Another Operation.") } // 以降必要なだけaddOperationする } 別スレッド処理を行える他の方法について 調べてみたところ、別スレッド処理を行うためには大きく分けて次の3つの方法があるらしい。 NSOperationQueueを使う方法 GCD(Grand Central Dispatch)を使う方法 NSThreadを使う方法 まず、GCDがNSThreadより良い点については以下のような理由があるようだ。 GCDが

    iOSで最も簡単にマルチスレッド処理を行う方法(NSOperationQueue) - Qiita
  • Objective-C 2.0プログラミング言語

    語ドキュメント 日語に翻訳されたデベロッパ向けのドキュメントです。 英語版の方が新しい場合がありますので、最新情報は英語版や英語ドキュメントページを確認して下さい。 App Store Connectヘルプ App Store Connectの使い方に関しての詳細やステップごとの使い方を確認できます。

  • Javaのwait()、notify()、notifyAll()を試す - abcdefg.....

    Javaのwait()、notify()、notifyAll()を試してみたメモです。 Javaのスレッドの勉強のためwait()、notify()、notifyAll()を試してみました。 Object (Java Platform SE 8) wait()、notify()、notifyAll()はObjectクラスのメソッドです。 wait() wait()を呼び出すと現在のスレッドが待機します。 wait()を呼び出したスレッドはそのオブジェクトのウェイトセットに入ります。 ウェイトセットに入ったスレッドは、そのオブジェクトのnotify()またはnotifyAll()が呼び出されるまで待機します。 try { wait(); } catch (InterruptedException e) { e.printStackTrace(); } notify() notify()を呼び

    Javaのwait()、notify()、notifyAll()を試す - abcdefg.....
  • 幸せな非同期処理ライフを満喫するための基礎から応用まで - Qiita

    クライアントアプリにとって、マルチスレッドプログラミングは避けては通れない重要な概念です。しかし、気をつけないとハマるポイントも多く、初めてクライアントアプリを学ぶ人たちからすると、複雑で難解な取っつきづらいものでもあります。ここでは、スレッドの基から、効率的な使い方、また複雑化しやすいポイントをシンプルに実装するためのノウハウを見ていきます。 TL;DR スレッドの取り扱い方を知る Threadをそのまま使わず、AsyncTaskやIntentService、時にThreadPoolExecutorを使ってスレッドの使い方を効率化する。 複雑な処理フローをシンプルに扱うためのフレームワークを導入する PromiseやRxAndroidなどで、複雑化しやすいポイントを整理する。 スレッドの基 スレッドといえば、ThreadクラスやRunnableクラスがベースにあります。以下のようにす

    幸せな非同期処理ライフを満喫するための基礎から応用まで - Qiita
  • Handlerの使い方を紹介する - Qiita

    前書き 今までHandlerをUIスレッドへRunnableを渡す為にしか使ってませんでした。ですがHandlerについて改めて調べてみたら面白かったので、勉強のためにHandlerの用例と使い所を考えました。 参考にしたサイト Handlerクラスの概要については以下の記事が非常にわかりやすかったです。 * https://realm.io/jp/news/android-thread-looper-handler * http://d.hatena.ne.jp/sankumee/20120329/1333021847 サンプルコードについて JUnit + Mockitoを使って書いてみました。 1. UIスレッドへRunnableを渡す 概要 Looper.getMainLooper()を引数にしてHandlerを生成し、Handler#post(Runnable runnable)

    Handlerの使い方を紹介する - Qiita
  • Swift 世代の排他制御 - Qiita

    Update: 関連する記事のリンクを追加しました。 Swift 3 世代の排他制御 http://qiita.com/codelynx/items/56ce2f91cd3f4f409aeb 今回は Swift で排他制御が必要になった時の TIPS を紹介したいと思います。 Objective-C時代の古き良き排他制御 GCDを使った排他制御 NSLock と defer を使った排他制御 Objective-C時代の古き良き排他制御 Objective-C の時代に排他制御のコードを書いた人は @synchronized をよく使ったと思います。簡単な構文で手軽に排他制御できていたので重宝していたかと思います。 // Objective-C 時代の排他制御 - (NSData *)readDataRange:(NSRange)range { @synchronized(self) {

    Swift 世代の排他制御 - Qiita
  • 担当講義/情報科学実験I/Apache MPMに係る設定 - 静岡大学 横山研究室

    概要 Apache MPM (Multi Processing Module)とは、Webブラウザからの接続をどのように捌くかという処理の部分をモジュール化したもので、設定によってその方法を変える事ができます。例えばこの実験の第一部では、皆さんはプロキシのプログラムをマルチプロセスで作るか、マルチスレッドで作るかを悩んだと思います。Apacheはこの部分がモジュール化されており、利用者のニーズに応じて、どちらでも使えるようになっています。その仕組みがApache MPMです。 幾つか勉強になるリンク先を載せておきます。 MPMとは何か マルチプロセッシングモジュール (Apache公式ページの解説) http://httpd.apache.org/docs/2.4/ja/mpm.html Apache MPM の基礎をしっかりと理解しよう!(内容はちょっと古いです) http://unoh

  • Apache2.4そろそろリリース...かもしれないので非同期I/Oのevent mpmの紹介

    自信のないタイトルは1年前に「2011年には流石にリリースされると思います」と書いてしまった反省からです。 リリースに関わっているわけでもないのに根拠のない予言をするものではありません。更にさかのぼること3年前には、Apache2.4カウントダウン?のタイトルで記事を書いています。もはや狼少年状態です。 Apache2.4の新機能の中で意外にフィーチャーされていませんが、個人的な注目はevent MPM(とAsynchronous support)です。いわゆる非同期I/O動作のイベントドリブンなmpmです。非同期I/Oのイベントドリブンと聞くと、nginxと同じ動作?と思う人もいるかもしれませんが、動作モデルは異なります。 Apacheを知っている人は、event mpmがバージョン2.2から存在するのを知っているかもしれません。バージョン2.2では実験的(experimental)mp

  • NSOperationQueueを使って、安心・安全にマルチスレッド処理を行う - Qiita

    この記事はiOS Advent Calendar 2014の25日目の記事です。 ※今回の記事を読む前に昨日のAndroidの記事を読むことをお勧めします。 12月もとうとう25日ですね! 日はみなさん共通の知り合いの誕生日ですね。お祝いですね。 そんな共通の知人へのお祝いを二人でどうぞしてください。 ※共通の知人:キリスト では、題に入りましょう。今回はスレッド周りの話をします。 【何故、クリスマスにスレッドの話】 そりゃもう、マルチスレッドを巧みに扱う人はこんな大切な日でもマルチスレッド並みにN股くらい仕掛けているんだろうなぁ。という話ですよ。 さらにはスレッドセーフなので、同時刻に複数人と会っても彼氏・彼女達に感づられることも無いのでしょうね。素晴らしい。 さて、そんなシングルスレッド。いや、ゼロスレッドの画面の前のみなさんも、マルチスレッドの扱いに長けることさえできれば来年は明

    NSOperationQueueを使って、安心・安全にマルチスレッド処理を行う - Qiita
  • ThreadExecutorServiceを使って、安心・安全にマルチスレッド処理を行う - Qiita

    この記事はAndroid Advent Calendar 2014の24日目の記事です。 昨日は@futaboooでした。会社の自席から3つ進んだ所に居ます。 明日は@yuyakaidoです。会社の自席から3つ進んだ斜め先に居ます。 12月もとうとう24日ですね! 日はみなさん共通の知り合いの誕生日前夜ですね。お祝いですね。 ※共通の知人:キリスト では、題に入りましょう。今回はスレッド周りの話をします。 【何故、クリスマスイブにスレッドの話】 そりゃもう、マルチスレッドを巧みに扱う人はこんな大切な日でもマルチスレッド並みにN股くらい仕掛けているんだろうなぁ。という話ですよ。 さらにはスレッドセーフなので、同時刻に複数人と会っても彼氏・彼女達に気付かれることも無いのでしょうね。素晴らしい。 さて、そんなシングルスレッド。いや、ゼロスレッドの画面の前のみなさんも、マルチスレッドの扱いに長

    ThreadExecutorServiceを使って、安心・安全にマルチスレッド処理を行う - Qiita
  • 1