サーバの仕組みとスレッド 通常、Webサーバなどは親プロセスがポートをListenし、接続があったら、子プロセスを生成し、その後の(クライアントへのデータ送信等の)処理は、子プロセスに任せるというフローをとる。 そうすることで、親プロセスはクライアントへデータ送信が終わるのを待つ必要がなくなり、どんどん接続を受けることが可能になる。 接続数が多くなると、当然、子プロセスが多くなり、サーバへの過負荷となる。 そこで、子プロセスではなく、スレッドでクライアントの処理を行うと負荷低減につながる((スレッドの生成は子プロセスの生成より軽量)) echoサーバのPOSIXスレッド化 [C言語]Socket間通信 echoサーバを作るで作成したechoサーバにptheadを組み込み、複数クライアントに対して同時処理ができるように改良する。POSIXスレッドについて知りたければ、まずは[C言語]POSI
この内容には私も全面的に賛成で、クラスやフィールド、メソッド、名前空間など、とにかく文字として表れる名前には、必ず、例外なく、正しく誤解のない命名を徹底することが非常に重要だ。 http://blog.livedoor.jp/lalha/archives/50261226.html 先のエントリは、danさん*1やlalhaさんにまで言及いただき大変光栄で、なにより多くの人に読んでもらえた。多謝。 一方で、自分で読み直すと「先のエントリ」は、いくぶん観念的でいまいちよく分からないところもあるかなと思った。というわけで、より実践に結びつきやすいように、「何に気をつければいいのか」「どういう考え方でコードを書けばいいのか」を書いてみる。 lalhaさんがエントリで強調したかったという (1) 適当に書いたコードは後でとても大きな被害をもたらす可能性が高い への包括的な対策であり、 (2) たく
ソケット通信で大容量のメールの場合送信されません 質問です smtpクライアントからtcpでメール送信するプログラムを組んだのですが、 添付ファイルのサイズが大きいもの(500000行を超えるような)を1行ずつsendメソッドで送信すると送信先で受信できません。 400000行まではいくのですが… sendではエラーは返っておらずパケットは送られてる様です。 パケットダンプをとってみたのですが、メールサーバから応答は返ってきていました。 filein.open("test.eml"); if (filein.fail()){ return -1; } if((soc = ConnectHost("testhost","smtp",25)) == -1){ return -1; } send_buf = new char[BUFSIZ]; sprintf(send_buf,"MAIL FRO
pthread_系の関数は mutex か cond しか待てないが、select/poll/epoll はファイルディスクリプタしか待てないので、両方待ちたいときに困る。 解決方法はいろいろあると思いますが、私の思いつく範囲では以下の4つ。 selectで待ち、シグナルで割り込む ファイルディスクリプタはselectで待つ。他のイベントはいったんキューに入れておき、シグナルを発生させてselectを中断させる。たしかlighttpdはこの方式だったはず。ただlighttpdはシングルスレッドなのでキューは使っていなかったような(うろ覚え) selectで待ち、パイプで割り込む selectで待つのだが、その中にpipe(2)で作ったパイプを1つ食わせておく。ファイルディスクリプタ以外のイベントはいったんキューに入れておき、パイプに1バイト書き込んでselectを中断させる。 select
サイボウズ・ラボ サイボウズ・ラボはサイボウズグループの研究開発部門として、次世代の製品・サービスの基盤となる技術を中長期視点で研究開発しています。 新着情報 Cybozu Inside Out | サイボウズエンジニアのブログ try! Swift Tokyo 2024 参加レポート (2024-05-06) QAエンジニアがプロダクトオーナーになってみた話 (2024-04-30) ポジティブな気持ちから変化を起こせるチームを作るために意識していること (2024-04-26) 本番に近い状況でクラスをテストする (2024-04-25) 「ソフトウェアテストをカイゼンする50のアイデア」勉強会を開催したら、 濃い議論ができた話 (2024-04-24) 秋元@サイボウズラボ・プログラマー・ブログ このレイオフは存在しない – 架空のCEOのレイオフメッセージをAI生成 (2023-0
英語の発音練習のために始めた「英語の発音 ザジングルズ レベル85基礎筋肉編」の1周目がやっと終わった。記録によると4/13に購入したようなので 4ヶ月かけて 30 日分の課題をこなした事になる。さぼったから時間がかかったわけではなくて、平日のみ1日の課題(メインとアプリケーション)を2日に分けていたから。 第一の感想としては「これだけ発音練習をしつこくやれば上達する」だ。書名に「筋肉」という言葉が入っているのは伊達ではない。理論も解説されるがひたすら練習。まさに筋トレ。例えば、 th と s の違いを身につけるための練習を毎日何十回もやらないといけない。さらにこの本が良いのは、先に発音の違いを強調して練習するところ th の場合は舌の位置をミリ単位で指定されるとか、s の場合は1秒音をのばすとか。練習量をこなしたので多少自信がついたが、まだ怪しい部分もあるので指示に従い練習を続けるつもり
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く