問題タブ [blocked]
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.
android - ブロックされた Android スレッドが実際に殺されるのはいつですか?
ブロックされた USB 読み取りスレッドのブロックを解除できないという Android の既知のバグと戦っています。ブロックを解除するものはありません。基礎となるオブジェクトを閉じず (ソケットで一般的)、NIO を使用せず、FileChannel.close を呼び出しても (ブロックされたスレッドに例外を送信します)、何もありません。そのため、Android でこのバグを許容する何らかの回避策を作成するのに苦労しています。
最大の問題は、スレッドが終了しないため、基になる FileInputStream オブジェクト (または FileChannel オブジェクト、または使用しているもの) への参照が保持されることです。そのオブジェクトはまだ存在するため、接続されている USB デバイスと再関連付けすることはできません。よく知られた「/dev/usb_accessory を開けませんでした」という絶望のメッセージが表示されます。
そのため...スレッドは外部から強制終了したり中断したりすることができず、オブジェクトを解放するために独自に起動しないため、そのようなブロックされたスレッドとその関連リソースがオペレーティングシステムによっていつクリーンアップされるのか疑問に思っています. ほとんどの OS では、スレッドはプロセス全体の一部であり、そのプロセスが終了すると、すべてのスレッドとオブジェクトが同時にクリーンアップされ、最終的に USB 接続が解放され、他の何かがそれに関連付けられるようになります。しかし実験は、スレッドまたはオブジェクトがプロセスを超えて存続する可能性があることを示唆しています。どのように、どのようなコンテキストで、私は知りませんが、これまでのところ、前のプロセスが終了した後でも「/dev/usb_accessory を開けませんでした」というメッセージが表示されます (!?!)。
では、プロセスに関連するすべてのもの (そのスレッドやインスタンス化されたオブジェクトを含む) を最終的にクリーンアップするのは何でしょうか? 新しいプロセスが /dev/usb_accessory との関連付けを新たに行えるように、「スレートをきれいにする」にはどうすればよいですか?
ありがとう!
c# - 「このファイルは別のコンピューターからのもので、このコンピューターを保護するためにブロックされている可能性があります。」- C# .net でこの属性をプログラムで削除する方法は?
C#でプログラムを作りました。ユーザーがボックスにチェックを入れると、自分自身をスタートアップにコピーします。
アプリケーションは、レジストリ キー "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" を使用してスタートアップに自身を追加します。
マシンが再起動されるたびに、「別のコンピューターから来た」ためにWindowsによってブロックされているため、プログラムを実行したいかどうかをユーザーに確認するという問題は別として、問題なく動作します。
プログラムがそれ自体を実行しようとするたびにユーザーにプロンプトが表示されないように、コードからこの Windows の「ブロックされた」フラグを取り除く方法はありますか?
ありがとう
java - セキュリティ上の理由により、Java が (署名付き .jar) アプレットをブロックします。これを修正するにはどうすればよいですか?
まず、.jar には悪意のあるソフトウェアやコードは含まれていません。害はありません、すべて問題ありません。.jar に署名し、次のコードを使用して Web サイトにロードしようとしています。
しかし、実行すると次のエラーが発生します。
クライアントは、私が実行しているゲームの Web クライアントです。ブロックされてしまう原因とは?
android - グーグルプレイでアプリを削除
Google Play にアプリケーションをアップロードしましたが、メタデータが Google Play のコンテンツ契約に準拠していないためブロックされました。コンテンツ ポリシーをより注意深く読み、新しいデータでアプリケーションを再度有効にしたいと考えています。問題は、これを行う方法が見つからず、Google Play で役立つものが見つからなかったことです。
これを行う手順を知っている人がいる場合は、助けてください。
android - 新しいアクティビティでブロックされた Android UI スレッド
私は、作業スレッドでキャンバスの描画を処理する小さな Android ゲームに取り組んでいます。ゲームが終了すると、このスレッドは次のアクティビティを開始するはずですが、どういうわけか新しい関数を開始することで UI スレッドがブロックされているようです。
これは私のゲームのメインループです:
この関数performTick()
はゲーム ロジックを処理しnull
、ゲームが終了すると戻ります。 draw()
レンダリングを行います。どちらの関数も完璧に動作します - 問題はlose()
、新しいアクティビティを開始する以外に何もしないことです:
ゲームが終了すると、新しい Activiy (MainMenu) が正常に開始されますが、タッチ イベントには反応しません。LogCat 出力はなく、例外も発生していません。さらに悪いことにlose()
、メインループが開始する前に呼び出されると正常に動作します。
私はこれに何日も取り組んできました。Handler
作業中のスレッドから ( in を使用せずに)アクティビティを直接開始しようとしましたが、lose()
何時間もインターネットを検索しましたが、何も役に立ちませんでした。UI スレッドが何らかの形でブロックされているか、無限ループに陥っているようです。これを修正する方法がわかりません。
すべてが Nexus 4 デバイスでデバッグされます。
ところで:MainMenu.onCreate()
別の方法で開始すると正常に動作します。
助けてください、MA3o
c# - TcpListener.AcceptSocket(); の使用 別のスレッドでスレッドがブロックされますか?
私はデバッグと同様にこれを回避しようとしましたが、私はここで緩い終わりを迎えています:(これを使用してクライアント接続をチェックする代わりに何かありますか?このコードはコンソールアプリケーションで正常に動作するので、スレッドを推測していますはブロックされていますが、それは私が見ることができない何か他のものかもしれません?
ソケットの宣言。
ボタンを押すと開始するバックグラウンド スレッド。
スレッドは「作業」メソッドを実行します。
作業メソッドはサーバーを起動し、myList.AcceptSocket(); の呼び出し時にブロックしますか?
いくつかの完全性のための他の方法。
私の問題を説明するのが苦手なので編集してください:(
Android デバイスからのデータの送信は、1 つのスレッドを実行しているコンソール アプリによって受信されますが、同じデバイス上の同じプログラムから同じ IP とポートにデータを送信しても、この Windows フォーム アプリケーションでは何も起こらないようです。別のスレッドはブロックされたままになり、Android アプリは通信を完了してデータを送信できません。
c# - データがゼロの C# ソケット ブロッキング
C# tcp-ip クライアント (同期および非同期読み取りソケットの両方) を実装しました。各 SocketException の後、サーバーとの接続を自動的に再接続しています。
次に、Windowsでクライアントとncatの通信をテストしました。ここで、ncat を強制終了すると、C# クライアントで SocketException がスローされ、すべてが想像どおりに機能します。
しかし、Linuxでncatを使用してテストしました-ここでは通信は正常に機能しますが、ncatサーバーを強制終了すると(Windowsと同じ設定- ncat -l -k -p xxxx)、大量の空のデータ(ゼロB)が発生しますコールバックで受信 (または同期バージョンのソケットで待機) し、例外はスローされません。
1 つのことは、ncat の Windows / Unix バージョンが異なる動作をする可能性があることです。しかし、どのバージョンの tcp-ip サーバーでも、この奇妙な動作を解決する必要があります。
ありがとうございました!
javascript - ポップアップがブロックされ、2 回目のクリックでブロックされなくなります
button1 をクリックすると、ajax リクエストが送信されます。成功した場合は、jquery click() メソッドを介してクリックされた非表示のボタンが表示されます。2 番目のボタン (button2) は、jquery を介して window.open イベントをトリガーします。
私の問題は、最初のクリックでポップアップがブロックされ、2 回目のクリックでブロックされないことです。ポップアップがブロックされることは望ましくありません。
2番目のボタンを操作できないため、簡単にできません。
助けや解決策をありがとう。
コード:
php - Blocked.com の無料試用版スクリプトが空白のページを表示する
これが私がやろうとしていることです: https://www.blocked.com/install.php
XAMPP をローカルで使用し、Ubuntu 14.04 で LEMP および LAMP を使用して DigitalOcean で試しましたが、すべて同じ結果になりました。ステップ 4 は空白のページを示しています。
私が見逃しているものはありますか、それとも彼らのせいですか?
java - スキャナでブロックされた Java スレッドの停止
これは、ここの他の質問に関連していますが、役立つ回答はまだ見ていません。(JWWによる編集EOF
:コメントによると、引用された重複は期待どおりまたは希望どおりに処理されません)。
この例では、main()
関数は、スキャナーの関数をブロックするスレッドを開始しnextLine()
ます。次に、0.2 秒待ちます。その後、何も入力されていなくても、このスレッドを強制的に終了させたいと思います。スキャナーを満たすためにキーを押さないと、スレッドを単独で停止させることはできません。
いくつかのメモ:
- スキャナーの基になるストリームを確実にブロックしています。このコードをダウンロードして実行すると、「Trying to close the Scanner...」と表示された直後に停止します。 への呼び出しを削除すると
thread.closeScanner()
、「Running!」の直後に停止します。 interrupt()
スレッドのメソッドを呼び出したいと主張するいくつかの回答を見てきました。しかし、スレッドがブロックされているため、それは機能しません。Scanner
が読んでいるストリームを閉じたいと主張する他の回答を見てきました。しかし、それもうまくいかないようです —Scanner
ドキュメントは、そのclose()
メソッドが基になるストリームを閉じることを示しているので、上記のおもちゃのコードで私がやっているはずです。- のような非推奨のメソッドを使用することもできます
stop()
が、それでも効果がないようです。
何か案は?ありがとう。
(興味がある方のために説明すると、根底にある動機は、生徒の作業用に自動化されたグレーダーを作成することです。ストリームは、最終的にはスレッドによって実行されるプロセスの標準出力になります。しかし、私の生徒の中には無限ループが発生する人もいます。たとえプロセスが完了していなくても、スレッドをn秒後に終了させたい. デッドロックは実際には問題ではありません.