タグ

2015年6月14日のブックマーク (8件)

  • Grand Central Dispatch

    Blog about Objetive-C, C, C++, C#, Shellscript, js, swift, java, etc in English, Japanese and sometimes in Spanish. Ignacio Enriquez in:
Twitter | Github | Linkedin | Stackoverflow Programming Notes @nacho4d Blog about stuff in Objetive-C, C, C++, C#, Shellscript, js, swift, java, etc in English, Japanese and sometimes in Spanish. Ignacio Enriquez in: Twitter | Github | Linkedin | Stackoverflow 最近

  • BBAsyncTask その4 - Kazzz's diary

    非同期どころかexecuteInBackgound:はメインスレッドで動作してしまうのでexecuteInBackgound:の意味が無い。 次回はこの肝心要の非同期処理=別スレッドでの処理実行と他の処理との同期を実装していこう。 Objective-C、iOS上でのスレッドによる非同期処理はいくつかの世代があるが、今回はGrand Central Dispatch(以降GCD)による物を使うことにした。 理由は簡単でGCDは「最も新しく」「最も効果的で」「最も簡単に」マルチスレッド処理を記述できるからだ。 マルチスレッドによる非同期処理をいろいろな言語で書いて来たが、スレッドが一増えるとそれだけでプログラミングは途端に面倒になるし処理効率も下がってしまう。それはスレッドという流れがブロックしない処理を扱うことは勿論だが、もう一つGUIアプリケーションの場合非同期処理が実行されるスレッド

    BBAsyncTask その4 - Kazzz's diary
  • Grand Central Dispatch その5 semaphore | Objective-Audio

    ディスパッチはいままでの並列処理の方法と比べるとシンプルで簡単だ、なんて書かれていたりしますけど、どうやらセマフォは欠かせないようで、ディスパッチにもあります。 とりあえずサンプルコードから。 #include <stdio.h> #include <unistd.h> #include <dispatch/dispatch.h> int main (int argc, const char * argv[]) { dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_group_t group = dispatch_group_create(); dispatch_semaphore_t semaphore = dispatch_semaphore_

  • Grand Central Dispatch その2 Queue | Objective-Audio

    Queueを作る ディスパッチの基的な使い方は、処理したいコードをブロックや関数で用意しておいて、キューにそのブロックや関数を渡すという流れになります。 ディスパッチのキューには2種類あります。アプリ(OS?)に最初から一つ用意されているグローバルキューと、自分で作るキューです。グローバルキューは並列に処理できますが、自分で作るキュー(以後シリアルキューと書いて区別します)は入れていった順番に直列でしか処理できません。 キューはdispatch_queue_tという型のオブジェクトで表されます。ディスパッチのオブジェクトは他にもいくつかありますが、それは次回以降に後回しにします。 グローバルキューを取得するにはこの関数を使います。 dispatch_queue_t dispatch_get_global_queue(long priority, unsigned long flags);

  • 【iPhoneアプリ】これを使えるようにならないと「マルチスレッド」について 実装編 - ゆるい感じのプログラムを書きたい。

    今回も、「マルチスレッド」についてです。 前回、概要編との事で記載していましたが 今回は実際にプログラムを書いて、動かしてみる実装編を記載して行きます。 GCD実用例の前準備 GDCを用いた実用例の紹介の前に以下の準備をします。 ・スレッドテスト開始用ボタンの描画 ・スレッドテスト開始用ボタンのアクション処理 まず、始めに「スレッドテスト開始用ボタン」を以下のコードを 記述して描画させます。 ■ViewController.m #import "ViewController.h" @implementation ViewController{ MultiThread *Multi; } - (void)viewDidLoad { [super viewDidLoad]; Multi = [[MultiThread alloc] init]; UIButton* bt = [Multi Th

    【iPhoneアプリ】これを使えるようにならないと「マルチスレッド」について 実装編 - ゆるい感じのプログラムを書きたい。
  • Grand Central Dispatch その1 Block | Objective-Audio

    Grand Central Dispatchについて日語で丁寧に詳しく説明してくれるサイトはないかなぁと待っていたのですが、待っている間にひととおり自分なりに調べ終えてしまったので、まとめて書いておきます。まちがいに気がついたらご指摘いただけるとうれしいです。 Grand Central Dispatch(以下ディスパッチと書きます。リファレンスとか関数名とかGrand Centralって全然ついていなくてDispatchだけですし。)とはなんぞやというと、Snow Leopardから導入された並列処理のAPIです。並列処理といえばLeopardではNSOperationというObjective-CのAPIが導入されましたが、ディスパッチはC言語のAPIとして用意されていて、システムに近い低レベルなところで使えるものです。 あれこれ試した印象で言うと、コアが2つしかないCPUMacでた

  • Objective-cでの排他制御(セマフォ)

    概略 Objective-Cで、複数スレッドからの同時アクセスをブロックするのに、セマフォを使って排他制御を行うことが出来ます。 セマフォの考え方は、セクションを指定して、そのセクションを「使用可能」「使用不可」と指定出来ます。 とりあえずソースコードを見てみましょう @interface hoge @end @implementation hoge { dispatch_semaphore_t semaphore_; } - (id)init { self = [super init]; // セマフォの初期化、(0)はいくつまで同時アクセスを許容するかの数を指定 semaphore_ = dispatch_semaphore_create(1); for (int i = 0; i < 2; i++) { [self proc]; } return self; } - (void)pr

    Objective-cでの排他制御(セマフォ)
  • アニメ PSYCHO-PASSのロゴ | IJCBHT

    この秋2期が始まったアニメ、PSYCHO-PASSのロゴ DIN系のバリエーションかな?なんてぼんやりと思ってましたが、調べてみました。 …で、結果としては、PIXymbols FARmarks というフォントを元にしているのかな…?という結論に。 フォントのデザインは Page Studio Graphics  http://www.vershen.com/ 大文字はカクカクした輪郭に、小文字はスタンダードな輪郭(の大文字)になるこのフォント、”AIRCRAFT MARKING ALPHABETS”  …航空機の機体に記載する文字を想定(もしくはオマージュ)として作られてるようです。 大文字で組んで、適切な文字間与えて左右にこすれたような処理を加えればほぼ近い形に。 SやCの先端処理とか、YやAの懐をちょっと広くしたりと細部の加工していると思うのだけれど、もしかしたら類似のフォント

    アニメ PSYCHO-PASSのロゴ | IJCBHT