草庐IT

Thread_pool_pattern

全部标签

Android- Thread.join() 导致应用程序挂起

我有一个线程处理我的游戏循环,当我在这个线程上调用.join()时,应用程序停止响应。我一直在尝试解决程序永远无法访问代码的问题,即线程永远不会结束。System.out.println("YAY");我的游戏循环线程:该线程成功打印出“游戏结束”,但似乎从未结束。RunnablestartGameLoop=newRunnable(){//gameloop@Overridepublicvoidrun(){AiFactoryai=newAiFactory();finalButtonplay=(Button)findViewById(R.id.Play);finalButtonpass=(

android - Google Cloud Messaging 注册方法因 IOException (MAIN_THREAD) 而失败

已关注Google'sGCMexample非常仔细,但仍然出现了令人沮丧的错误。在这里找不到答案,所以我想记录下来以备将来引用。我非常确定我已使用正确的权限等正确设置了list(完全按照上面的示例)...但是这段代码总是导致IOException并解释为“MAIN_THREAD”。Stringregid="";try{GoogleCloudMessaginggcm=GoogleCloudMessaging.getInstance(getApplicationContext());Stringsender_id=getResources().getString(R.string.GCM_

java - 安卓开发 : "thread exiting with uncaught exception"

我正在尝试创建我的第一个Android应用程序(游戏),但我在开始时遇到了一些困难。当我运行我的代码时,我得到这个错误日志:05-2502:41:51.022:WARN/dalvikvm(634):threadid=1:threadexitingwithuncaughtexception(group=0x4001d800)05-2502:41:51.040:ERROR/AndroidRuntime(634):FATALEXCEPTION:main05-2502:41:51.040:ERROR/AndroidRuntime(634):java.lang.RuntimeException:

android - 等待信号量循环时的 SystemClock.sleep() 与 Thread.sleep()

为了同步/排队访问共享资源,我将使用Semaphore,在等待循环的帮助下。为了不遇到CPUHook,我想在while循环中稍微sleep()。我搜索了http://developer.android.com引用并找到了两个这样的sleep()函数,我很困惑哪个适合哪个场景:Thread.sleep()SystemClock.sleep()哪个更适合我描述的情况,为什么? 最佳答案 首先,你真的需要等待循环吗?您通常可以使用适当的通知来解决您的问题,即拥有一个对象,在其上调用wait()和notify()或其他方式(如阻塞队列,或S

单例模式(Singleton Pattern)

单例模式模式动机单例模式(SingletonPattern)是结构最简单的设计模式,它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以确保系统中一个类只有一个实例,且该实例易于被外界访问,从而方便对实例个数的控制并节约系统资源。如何确保一个类只有一个实例并且这个实例易于被访问?定义一个全局变量可以确保对象随时都可以被访问,但是不能防止实例化多个对象。(代码实现)更好的办法是让类自身负责创建和保存它的唯一实例,并保证不能创建其他实例,并且提供一个访问该实例的方法。(机制实现)模式定义单例模式(SingletonPattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供

android - 异步任务 "Only the original thread that created a view hierarchy can touch its views."

我尝试跨AsyncTaks修改Spinner内容,但我不能,Logcat写为“09-1916:36:11.189:ERROR/ERRORTHE(6078):只有创建View层次结构的原始线程可以触摸它的View。”。publicclassGetGroupsextendsAsyncTask{@OverrideprotectedVoiddoInBackground(Void...params){Spinnercombo=(Spinner)findViewById(R.id.group_combo);setGroups(combo);returnnull;}@Overrideprotecte

java - E/StudioProfiler : JVMTI error: 15(JVMTI_ERROR_THREAD_NOT_ALIVE) mean? 是什么

谁能给我解释一下E/StudioProfiler:JVMTIerror:15(JVMTI_ERROR_THREAD_NOT_ALIVE)究竟是什么意思?我在androidstudio中遇到这个错误。 最佳答案 JVMTI是调试和分析协议(protocol)。所以,我认为这与您尝试在其中运行应用程序的环境有关。 关于java-E/StudioProfiler:JVMTIerror:15(JVMTI_ERROR_THREAD_NOT_ALIVE)mean?是什么,我们在StackOverfl

java - RXJava2 : correct pattern to chain retrofit requests

总的来说,我对RXJava比较陌生(实际上只是开始将它与RXJava2一起使用),而且我能找到的大多数文档往往是RXJava1;我现在通常可以在两者之间进行转换,但是整个Reactive的东西是如此之大,以至于它是一个具有良好文档的压倒性API(当您可以找到它时)。我正在尝试简化我的代码,我想用一些小步骤来完成。我要解决的第一个问题是我在当前项目中经常使用的这种常见模式:您有一个请求,如果成功,您将使用它来发出第二个请求。如果其中任何一个失败,您需要能够识别出哪个失败了。(主要用于显示自定义UI警报)。这就是我现在通常做的:(为简单起见省略了.subscribeOn/observeOn

Android 使用 SurfaceView 和 Thread 绘制

我正在尝试使用3个类在我的屏幕上画一个球。我已经阅读了一些关于此的内容,我发现了一个代码fragment,该代码fragment可以在一页上使用3个类,PlayingwithgraphicsinAndroid我修改了代码,这样我就有了一个球,它在撞墙时会移动并改变方向,如下图所示(这是使用链接中的代码)。现在我喜欢将类(class)分成3个不同的页面,以免让所有内容都如此拥挤,所有内容都以相同的方式设置。这是我的3个类(class)。BallActivity.javaBall.javaBallThread.javapackagecom.brick.breaker;importandro

java - 安卓 java.lang.IllegalMonitorStateException : object not locked by thread before wait()

我定义了一个全局静态对象作为同步锁。publicstaticObjectConfirmationSynObj=newObject();下面的函数是我写的,但是它抛出一个IllegalMonitorStateException。synchronized(Config.ConfirmationSynObj){newThread(newRunnable(){@Overridepublicvoidrun(){//thisisahttprequestappSignInfo=getAPKSignature(context,pkinfo.packageName);Config.Confirmatio