C#におけるプロセス/スレッド/マルチスレッド/AppDomain完全ガイド
C#におけるプロセス/スレッド/マルチスレッド/AppDomain完全ガイド
C#における並列処理与非同期処理は、現代のアプリケーション開発において不可欠な技術です。本稿では、プロセス、スレッド、マルチスレッド、Task、そしてAppDomainについて詳細に解説します。
1. Taskの基本操作
Taskクラスには複数の待機メソッドが用意されています。Task.Waitは単一のタスクの完了 ...
7月10日 22:45 投稿
TornadoでPeewee ORMを使用する方法
インストール
pip install peewee
GitHubリポジトリ
https://github.com/coleifer/peewee
公式ドキュメント
http://docs.peewee-orm.com/en/latest/
Peeweeでモデルクラスを作成する
データベースインスタンスdbをインスタンス化し、Metaで指定します。
models/model.py
from datetime import datetime
from peewee import *
from peewee import Model
db = MyS ...
6月21日 21:08 投稿
Python面接でよく聞かれる26の技術テーマと実装例
1. GILがマルチスレッドに与える影響
CPythonにはGlobal Interpreter Lock(GIL)が存在し、1プロセス内で1スレッドしかバイトコードを実行できません。これにより複数CPUを活かした並列実行ができません。
さらに、GILはスレッドの実行区間ごとに手放されるため、単純にGILがあればデータ競合が起きないわけではありません。明示的な排他制御が必要です。
2. 同期・非同 ...
6月20日 21:05 投稿
C++における関数バインディングと非同期タスクのラッピング
関数バインディングの基本を確認してみましょう:
int processData(std::string text, int id, int val1, int val2, int val3)
{
std::cout << id << ":" << text << std::endl;
return text.length() + val1 + val2 + val3;
}
これは複数の引数を取る関数の例です。次に、この関数の第1、3、4、5引数をバインドする関数を作成します: ...
6月12日 19:40 投稿