問題タブ [synchronize]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 別のスレッドでイベント ハンドラーを実行する (スレッドをブロックせずに)
Communicator
TCP ポートでデータを受信するバックグラウンド スレッドで動作するクラスがあります。
Communicator にはOnDataReceived
、 EventHandler<DataReceivedEventArgs>
タイプのイベントがあります。
Consumer
イベントにサブスクライブされたメソッドを含む別のクラスがありCommunicator.OnDataReceived
ます。
クラスは Form コンストラクター内で作成され、Consumer
そのメソッドの 1 つが別のスレッドで呼び出されます。このメソッドは無限ループなので、アプリケーションの実行中はそのメソッドにとどまります。
私がやりたいのは、イベントが消費者のスレッドCommunicator.OnDataReceived
でメソッドを呼び出すことです。consumer.PresentData
それはほぼ可能ですか?そうである場合、どのようなメカニズム (同期クラス) を使用する必要がありますか?
iphone - タブ バー アプリケーション全体での plist の同期
接続情報 (クライアント ID、サーバー アドレス、ポート番号) の plist を共有する 3 つのタブのアプリケーションがあります。各ビュー コントローラーでは、NSUserDefaults オブジェクトが viewDidLoad メソッド内で初期化されます。
私のビューの 1 つは、ユーザーが plist を変更できるようにする「設定」ページを表しています。ただし、plist が更新されると、オブジェクトごとに同期が必要になるため、変更がすべてのタブ ビューに反映されるわけではありません。
viewDidLoad メソッドは、アプリケーションの存続期間中に (少なくともタブ バー アプリケーションの場合は) 1 回しか呼び出されないことを知ったので、同期呼び出しをここに置くことはできません。次に AppDelegate クラスに目を向けると、tabBarController メソッドを発見しました。このメソッドを使用して、同期ボタンを必要とせずにすべてのビュー コントローラー間で NSUserDefaults オブジェクトを同期するにはどうすればよいですか? これは、アプリケーションが開いているときに設定を共有/調整する正しい方法ですか?
これが私が今いるところです:
ありがとうございます。
java - 同期メソッドの実行時に GUI が機能しない
メイン オブジェクト (Swing GUI を含む) と、オブジェクトの handle() メソッドを呼び出すサポート スレッドを備えたアプリがあります。
スレッドが handle() メソッドを使用している間、handle() メソッドが同期されると、メイン オブジェクトの GUI が応答しないことに気付きました。コード:
handle() から synchronized キーワードを削除すると、スレッドが handle() メソッドを使用している場合でも、GUI は応答します。
注目すべき興味深い点は、別のオブジェクトをロックとして使用すると、スレッドが handle() メソッドを使用しているときに GUI が再び応答するようになることです。コード:
これは、Swing GUI が同期されたメソッドを使用していることを示唆しています。私は正しいですか?お気軽にリソースを教えてください。欲しいものがまったく見つかりませんでした。
ありがとう。
iphone - データを NSUserDefault にプッシュした後に同期メッセージを送信することは必須ですか?
ただ興味深いのは、それが必須であることです。たとえば、私のアプリでは、「同期」呼び出しを必要とせずに、 [NSUserDefaults standardUserDefaults] から情報をプッシュして取得するだけです。多分私は何かが欠けているかもしれませんが、私は何の問題にも気づいていません(まだ):)。この呼び出しがメモリ内データとディスク上のデータの間で同期を行う必要があることは知っていますが、私の場合はなぜ気付かないのですか?
sync - SyncStatusObserverまたは他の手段を使用して同期ステータス情報を取得しますか?
具体的には、'Droid HTC incredible、Androidバージョン2.2、ベースバンド2.15.00.07.28、カーネル2.6.32.17-g9a2fe16、ビルド3.26.605.1、ソフトウェア番号3.26.605.1があります。
EclipseとAndroidSDKがすべてインストールされ、正常に実行されています。EclipseのDroidでデバッグしてシングルステップコードを実行する方法は素晴らしいです。
私は多くの本を読み、すべての例を実践として試し、JavaだけでなくC ++を含む他のオブジェクト指向言語でのソフトウェア開発の長年の経験(> 10年)に基づいていますが、私は選んでいますそれはかなり速く上がります。
また、リポジトリ/gitを実行しているDroidで実行されているソースコードのバージョンもダウンロードしました。FRG83Gpackages/apps / AccountsAndSyncSettings / src / com / android/settingsコードを調べています。 。
今。同期が失敗したときに通知する小さなアプリを作成したいと思います。私がかゆみを感じようとしているのは、GMailの連絡先インターフェースを使用して大量の変更を加えた後(たとえば)、'Droidがそれらを同期できない(おそらく削除が多すぎる?)ということです。そのため、同期が常に失敗する場合は、通知バーアイコンを表示して、この同期の失敗について知らせたいと思います。このようなアプリがないと、失敗していることを最初に示すのは、おそらく2〜3日後に連絡先情報が欠落していることに気付いたときです。
したがって、ロジックは、同期アクションがステータスを変更したときに通知を受けるために、私の小さなアプリがSyncStatusObserverである必要があることを示しているように見えます。次に、その同期でSyncStatusInfoを取得し、どの同期がいつ失敗したかを記録します。私が収集できることから、これはSyncStatusObserverを実装し、ContentResolver.addStatusChangeListenerを呼び出してブロードキャストに接続することを意味します。これを実装しましたが、通知メッセージが表示されます。
アカウントタイプにはゼロから多数のアカウント権限があり、各アカウント権限は同期されるデータのタイプ(連絡先とカレンダーなど)を示すという点で、オブジェクトモデルを理解していると思います。
SyncStatusObserverの単一のメソッドonStatusChanged(final int which)には、「int which」パラメーターがあります。これは、どのアカウントタイプまたはどのアカウント権限が同期ステータスを変更したかを示しているように見えます。私はこれを作成して接続し、ある種のデータが同期されたときに、予想どおり、これらのメソッド呼び出しを受信しています。アプリの実行中に、Eclipseデバッガーのログウィンドウでこれを確認しました。
私の質問は、パラメータ値がアカウントタイプやアカウント権限に戻る単一のintをどのように関連付けるかです。SyncInfo getCurrentSync()を呼び出して、アカウント、権限、およびstartTimeを記録したいと思います。(なぜ開始時間ですか?本当に終了時間と終了ステータスが必要ではありませんか?)
ここでstackoverflowを検索すると、投稿で見つかりますAndroid SyncAdapterの進捗状況をどのようにリッスンしますか?SyncStatusObserverは、単一の整数パラメーターであまり有用な情報を伝達しないため、かなり役に立たないことを示しています。おー。わかった。
この質問を見る別の方法があると思います:HTC Incredibleで、ホーム画面で[メニュー]->[設定]->[アカウントと同期]->[Google(リストされているアカウント)]を選択すると、ユーザーインターフェイスに次のように表示されます。 GMailアカウントの各アカウントタイプが正常に同期された最後の時間。この情報を取得するコードはどこにありますか。これは私が求めているのと同じ情報であり、各SyncStatusObserverのonStatusChangedメソッドの呼び出し後にこの情報を取得したいと思います。
Syncadapterの最終更新日を投稿する場合。これは基本的に、最終同期の日付/時刻が現在のDroidコードによって公開されていないことを示しています。
各SyncAdatorsの最後に成功した同期日時を取得する他の方法はありますか?私は本当にかゆみを掻きたいです(いわば)。
jakarta-ee - Office 365 の連絡先をシステムの連絡先と同期する
J2EE システムがあり、システムに統合された Office 365 を使用しています。
J2EE システムの連絡先を Office 365 の連絡先と同期したいと考えています。
何か案は?
php - PHP同期タイムゾーン夏時間の問題
MySQLテーブルにデータをロードするWebサイトがあります。テーブルの2つのエントリは、「startdate」と「enddate」です。'startdate'は、CURRENT_TIMESTAMPを使用して自動的に実行されます。'enddate'は、ユーザーが日付ピッカーを使用して選択します。
これにより、ユーザーがサーバーとは異なるタイムゾーンにいる場合に問題が発生します。たとえば(私は太平洋時間帯にいて、サーバーは中央にあります)。午後5時にエントリを作成し、午後10時の終了日を選択すると、データベースには午後7時と午後10時として入力され、5時間ではなく3時間のウィンドウが作成されます。必要なのは終了日を中央時間に変換することです(同じサーバーとして)。したがって、私の例を使用すると、データベースのエントリを午後7時と深夜12時にする必要があります。
このJavaScriptを使用して、ユーザーのタイムゾーンオフセットを取得できます。
これは-7を返します(私はGMT-8にいます、1時間のdifは夏時間のためだと思います)。解決策についての私の最初の考えは、サーバーが-5にあると想定し、2つを比較することです(私の例に戻ると、-5 --- -7 = 2なので、「終了日」に2を追加します)。
問題は、標準時間に戻すときに発生します。私のjavascriptは-7ではなく-8を返し始め、関数を壊してしまうと思います。PHPのdate_default_timezone_get()について知っていますが、数値ではなく文字列を返します。私が必要としているのは、(中部標準時の場合)夏時間中に-5を返し、標準時間中に-6を返す同様の関数だと思います。
eclipse - 複製された Eclipse プロジェクトから .git フォルダーを除外する方法
問題
複製された git リポジトリから Eclipse プロジェクトをインポートした後、いくつかの変更を加えてコミットします。プロジェクトに「.git」フォルダーが追加され、ヘッドと参照を含むシバン全体が追加され、最悪の場合、オブジェクトデータベース全体がプロジェクトに追加され、すべてのファイル/フォルダーに小さな疑問符アイコンが表示され、ファイルが追加されていないか、まだ git によって追跡されていません。この .git フォルダーは、実際の作業ディレクトリに存在します (どうして意味があるのでしょうか?)。「同期」ツール/ビューを使用しようとすると、これがどのような煩わしさを引き起こすか想像できます(これにより、コミットが容易になるはずです。すべての変更と変更されたファイルと差分を確認できます)。
質問(tl;dr)
複製された git リポジトリから Eclipse プロジェクトを正しくインポートする方法は? コミット時に "Team > Synchronize" に .git フォルダーが表示されないようにするには、.git フォルダーをプロジェクトの外部の別の場所に配置します。
追加情報
Windows 7 で Eclipse Indigo と Egit を使用しています。私は Egit を使用してhttp://git.apache.org/ (正確には ofbiz プロジェクト) から git リポジトリを複製しています。ウィザードで、この新しく複製されたリポジトリから既存のプロジェクトをインポートするオプションを選択します。
はい、私が Egit に期待することがいかに少ないかは承知しています。実際、実際の .git をプロジェクトから除外する Eclipse で git 追跡プロジェクトを使用する別の方法 (外部 git ツール? Windows のコマンド ライン git? その他?) がある場合、私は喜んで Egit を放棄します。 .
eclipse - SVN:Eclipseでブランチをトランクと同期しますか?
SVN ブランチとトランクがあります。トランクは定期的に変更されますが、ブランチは変更されません。
ときどき (週に 1 回としましょう)、ブランチのローカル作業コピーをトランクの最新の変更で更新したいと考えています。
理想的には、ブランチの最新バージョンで行うのと同じ方法でこれを行いたいと思います: Eclipse : Team->Synchronize を使用して、更新する前にすべての変更を確認できるようにします。
これは、別のリポジトリ (例: トランク) でも可能ですか? そうでない場合、更新する前にどのように変更を確認しますか??
私は Team->Merge を見ましたが、これは最初に変更を確認する可能性なしに、変更を作業コピーに直接更新するようです (プレビュー機能は混乱していると思いますし、素敵なサイドバイを提供しません) -Synchronize が持っている変更/競合の側面図)。
java - マルチスレッドJavaアプリケーションの問題-同期されたメソッドが期待どおりに機能しない
私はJavaでプロデューサー-コンシューマーに似たプログラムをコーディングしています(ただし、コンシューマーのみの部分で、プロデューサースレッドはありません)。同期メソッドのコードを呼び出しているにもかかわらず、クリティカル領域が複数のスレッドによって同時に実行されているようです。
コードは次のとおりです。
クラスMain.java:
クラスPedido.java:
クラスConsumidor.java
consomebufferメソッドは同期されていますが、変数posicao(位置のポルトガル語名)が他のスレッドによって同時にアクセスされているように見えます。これは発生しないはずです。同期されたメソッドです。プログラムの出力は次のようになります。
スレッド:スレッド[スレッド-7,5、メイン]ペディド:0イニシオ:2011/09/24 21:14:18フィム:2011/09/24 21:14:19 posicao 0
スレッド:スレッド[スレッド-6,5、メイン]ペディド:0イニシオ:2011/09/24 21:14:18フィム:2011/09/24 21:14:19 posicao 0
スレッド:スレッド[スレッド-2,5、メイン]ペディド:0イニシオ:2011/09/24 21:14:18フィム:2011/09/24 21:14:19 posicao 0
スレッド:スレッド[スレッド-9,5、メイン]ペディド:0イニシオ:2011/09/24 21:14:18フィム:2011/09/24 21:14:19 posicao 0
スレッド:スレッド[スレッド-3,5、メイン]ペディド:4イニシオ:2011/09/24 21:14:18フィム:2011/09/24 21:14:19 posicao 4
スレッド:スレッド[スレッド-5,5、メイン]ペディド:5イニシオ:2011/09/24 21:14:18フィム:2011/09/24 21:14:19 posicao 5
スレッド:スレッド[スレッド-0,5、メイン]ペディド:0イニシオ:2011/09/24 21:14:18フィム:2011/09/24 21:14:19 posicao 5
スレッド:スレッド[スレッド-8,5、メイン]ペディド:0イニシオ:2011/09/24 21:14:18フィム:2011/09/24 21:14:19 posicao 5
スレッド:スレッド[スレッド-4,5、メイン]ペディド:5イニシオ:2011/09/24 21:14:18フィム:2011/09/24 21:14:19 posicao 5
スレッド:スレッド[スレッド-1,5、メイン]ペディド:0イニシオ:2011/09/24 21:14:18フィム:2011/09/24 21:14:19 posicao 0
Processamentoencerrado。
位置の値が異なるスレッド間で繰り返されていることを認識してください。出力では、posicaoは、同期されたメソッドを呼び出すスレッドごとに異なる値を持つ必要があります。