マルチスレッドCプログラムのシリアルポートへのスケジューリングとアクセス制御

サフダリ

シリアルポートは一般に公開されており、スレッドは常にそのポートで機能します。1つ以上の優先度の高いスレッドが実行時に作成されます。メインスレッドとの競合はなく、ポートで動作し、完了すると破棄されます。これらのスレッドをスケジュールし、シリアルポートへのアクセスを管理するにはどうすればよいですか?

ありがとう。

忍者のコーディング

多数のスレッドを作成していて、常に1つのスレッドのみをシリアルポートで動作させたい場合(一度に1つのスレッド)、セマフォを使用してアクセスを管理できます(衝突しないようにします)。

ただし、使用するスケジューリングアルゴリズムは、純粋にニーズによって異なります複数のスレッドを作成する場合は、pthread_create2番目のパラメーターで属性(優先度など)を設定するための柔軟性が高いAPIを使用する必要があると確信しています。そのパラメータを使用して、優先度レベルを設定してください。それらの優先順位を考慮してスケジュールすることも、タイムスライス手法を使用することもできます。

あなたの質問を分析するとき、あなたはいくつかの開発委員会で働いているように見えます。RTOSコードの場合は、セマフォとともにプリエンプションメカニズムの実装を試すことができます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

スプラッシュスクリーン-ラベルとプログレスバーへのアクセス

分類Dev

C ++のマルチスレッドプログラムは、シリアルプログラムと同じパフォーマンスを示します

分類Dev

Javaでのマルチスレッドアプリケーションへのログイン

分類Dev

Java Web Startアプリケーションのトラブルシューティングとログファイルへのアクセス

分類Dev

マルチスレッドアプリケーションのログキュー

分類Dev

マルチスレッドアプリケーションのログキュー

分類Dev

Javaスケジューリングアルゴリズムの制御

分類Dev

デフォルトのスケジューリングポリシーと新しいQNXプロセス/スレッドの優先度

分類Dev

マルチスレッドアプリケーションのプロセッサ数を制限する

分類Dev

GCPslackチュートリアル 'スラッシュコマンド'; グーグルクラウド機能のデプロイに失敗しました

分類Dev

シングルスレッドCPU上のマルチスレッドアプリケーション?

分類Dev

スレッドモジュールとマルチプロセッシングモジュールの比較

分類Dev

Redisストリーム:グループ/コンシューマーの命名とクリーンアップ

分類Dev

マルチスレッドC#アプリケーションログファイルのロックの問題

分類Dev

Pythonマルチプロセッシングスケジューリング

分類Dev

リソースグループのAzureアクセス制御

分類Dev

アプリの請求とグーグルプレイ全体のプロセスでアプリケーションをアップロードしますか?

分類Dev

自動スケーリンググループアプリケーションロードバランサーのヘルスチェック

分類Dev

マルチスレッドCプログラムでのアサート時のgdbブレークポイント

分類Dev

macOSタッチバーのコントロールストリップへのプログラム可能なアクセスはありますか?

分類Dev

PHPアプリケーションでのロールベースのアクセス制御の実装

分類Dev

マルチスレッドアプリケーションのDLLとクラス

分類Dev

マルチプロセッサスケジューリング

分類Dev

空きRAMの量と関数からのパラメーターに応じたマルチプロセッシングスクリプトのプロセス数のPython動的制御

分類Dev

マルチスレッドアプリケーションでのアトミックブール値の使用

分類Dev

マルチプロセッシング-スレッドプールのメモリリーク?

分類Dev

マルチプロセスアプリケーションのSQLiteアップデートフック

分類Dev

マルチスレッドアプリケーションからのプロセスの生成

分類Dev

メッセージコンシューマーおよびストリームトポロジ用のKafka同じコンシューマーグループ

Related 関連記事

  1. 1

    スプラッシュスクリーン-ラベルとプログレスバーへのアクセス

  2. 2

    C ++のマルチスレッドプログラムは、シリアルプログラムと同じパフォーマンスを示します

  3. 3

    Javaでのマルチスレッドアプリケーションへのログイン

  4. 4

    Java Web Startアプリケーションのトラブルシューティングとログファイルへのアクセス

  5. 5

    マルチスレッドアプリケーションのログキュー

  6. 6

    マルチスレッドアプリケーションのログキュー

  7. 7

    Javaスケジューリングアルゴリズムの制御

  8. 8

    デフォルトのスケジューリングポリシーと新しいQNXプロセス/スレッドの優先度

  9. 9

    マルチスレッドアプリケーションのプロセッサ数を制限する

  10. 10

    GCPslackチュートリアル 'スラッシュコマンド'; グーグルクラウド機能のデプロイに失敗しました

  11. 11

    シングルスレッドCPU上のマルチスレッドアプリケーション?

  12. 12

    スレッドモジュールとマルチプロセッシングモジュールの比較

  13. 13

    Redisストリーム:グループ/コンシューマーの命名とクリーンアップ

  14. 14

    マルチスレッドC#アプリケーションログファイルのロックの問題

  15. 15

    Pythonマルチプロセッシングスケジューリング

  16. 16

    リソースグループのAzureアクセス制御

  17. 17

    アプリの請求とグーグルプレイ全体のプロセスでアプリケーションをアップロードしますか?

  18. 18

    自動スケーリンググループアプリケーションロードバランサーのヘルスチェック

  19. 19

    マルチスレッドCプログラムでのアサート時のgdbブレークポイント

  20. 20

    macOSタッチバーのコントロールストリップへのプログラム可能なアクセスはありますか?

  21. 21

    PHPアプリケーションでのロールベースのアクセス制御の実装

  22. 22

    マルチスレッドアプリケーションのDLLとクラス

  23. 23

    マルチプロセッサスケジューリング

  24. 24

    空きRAMの量と関数からのパラメーターに応じたマルチプロセッシングスクリプトのプロセス数のPython動的制御

  25. 25

    マルチスレッドアプリケーションでのアトミックブール値の使用

  26. 26

    マルチプロセッシング-スレッドプールのメモリリーク?

  27. 27

    マルチプロセスアプリケーションのSQLiteアップデートフック

  28. 28

    マルチスレッドアプリケーションからのプロセスの生成

  29. 29

    メッセージコンシューマーおよびストリームトポロジ用のKafka同じコンシューマーグループ

ホットタグ

アーカイブ