この記事は RECRUIT MARKETING PARTNERS Advent Calendar 2017 の投稿記事です。 こんにちは。スタディサプリENGLSHでサーバーサイドとインフラを担当している松川です。 バスケットボールを趣味にしているのですが、体育館など公共スポーツ施設の予約がなかなか取れない… 都心近郊ですと人口に対してスポーツ施設が少ないため、すぐに枠が埋まってしまいがちです。稀にキャンセルが出ることもありますが、自治体のwebサイトにプッシュ通知やRSSといった類のものは滅多にありませんので、こまめに巡回しなくてはなりません。 流石にそれは効率的ではないので「何かクローラーでも書こうかなぁ…」と思っていたところ、同僚から「OCamlのlamdba-soupというライブラリがええで!」と紹介してもらったので、これを期にOCamlデビューしてみることにしました。 結論から言
OCaml は現時点でマルチコア対応じゃないので、マルチスレッドにしてもマルチコアの恩恵を享受することができません。ですので、OCaml で thread を使う旨みというのは、関数を並行に走らせる事ができるってことだけです。でも並行に走らせる事が出来ればいろいろ便利ですよね。 でもマルチスレッドプログラミングで一番困るのが排他制御。これを上手くやってやらないと、OCaml で type safe なはずなのに、 segfault という事になります。もちろん OCaml プログラマは普段から type safety に慣れきっているので、 type system で保障されない排他制御を完璧に書けるはずがないのです。心が折れます。 そこで、light weight thread。こいつは実は thread じゃありません。要は同一スレッド内でタスク関数をとっかえひっかえ asynchro
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く