{"id":2408,"date":"2013-09-28T13:37:45","date_gmt":"2013-09-28T11:37:45","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=2408"},"modified":"2013-10-04T10:56:58","modified_gmt":"2013-10-04T08:56:58","slug":"fragen-zur-java-zertifizierung-threads","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2013\/09\/fragen-zur-java-zertifizierung-threads\/","title":{"rendered":"Fragen zur Java-Zertifizierung, Threads"},"content":{"rendered":"<h3>Frage<\/h3>\n<p>Welche Aussage ist wahr f\u00fcr die Funktion notify() in Verbindung mit wait()?<\/p>\n<ol>\n<li>Wenn mehr als ein Thread auf eine Bedingung wartet, wird nur der Thread benachrichtigt, der am l\u00e4ngsten wartet.<\/li>\n<li>Wenn mehr als ein Thread auf eine Bedingung wartet, l\u00e4\u00dft sich nicht ausmachen, welcher Thread benachrichtigt wird.<\/li>\n<li>notify() ist in der Klasse Thread definiert.<\/li>\n<li>Es ist nicht unbedingt erforderlich, den Lock f\u00fcr das Objekt zu besitzen, dessen notify() Methode wir aufrufen.<\/li>\n<li>notify() sollte nur innerhalb einer while Schleife aufgerufen werden.<\/li>\n<\/ol>\n<h3>Frage<\/h3>\n<p>Gegeben sei die folgende Klasse<\/p>\n<pre lang=\"java\">class Counter {\r\n public int start = 1;\r\n public int end = 100;\r\n public static void main( String args[] ) {\r\n  new Counter().go();\r\n }\r\n void go() {\r\n  \/\/ A\r\n  Thread t = new Thread( a );\r\n  t.start();\r\n }\r\n}<\/pre>\n<p>Welcher Block kann in der Zeile A eingesetzt werden, so dass das Programm von start bis end z\u00e4hlt?<\/p>\n<ol>\n<li>Runnable a = new Runnable() {\n<p>public void run() {for ( int i = start; i &lt;= end; i++ )<\/p>\n<p>System.out.println( i );<\/p>\n<p>}<\/p>\n<p>}<\/li>\n<li>a implements Runnable {\n<p>public void run() {for ( int i = start; i &lt;= end; i++ )<\/p>\n<p>System.out.println( i );<\/p>\n<p>}<\/p>\n<p>}<\/li>\n<li>Thread a = new Thread() {\n<p>public void run() {for ( int i = start; i &lt;= end; i++ )<\/p>\n<p>System.out.println( i );<\/p>\n<p>}<\/p>\n<p>}<\/li>\n<\/ol>\n<h3>Frage<\/h3>\n<p>Analysiere das folgende Programm:<\/p>\n<pre lang=\"java\">class WasPassiert implementes Runnable\r\n{\r\n public static void main( String args[] )\r\n {\r\n  Thread t = new Thread( this );\r\n  t.start()\r\n }\r\n public void run()\r\n {\r\n  System.out.println( \"Schnickschnack\" );\r\n }\r\n}<\/pre>\n<ol>\n<li>Das Programm l\u00e4sst sich nicht kompilieren<\/li>\n<li>Das Programm l\u00e4sst sich kompilieren, aber nichts erscheint auf der Standardausgabe<\/li>\n<li>Das Programm l\u00e4sst sich kompilieren und das Wort &#8222;Schnickschnack&#8220; erscheint einmal auf der Standardausgabe.<\/li>\n<li>Das Programm l\u00e4sst sich kompilieren und das Wort &#8222;Schnickschnack&#8220; erscheint ununterbrochen auf der Standardausgabe, bis der Benutzer mit Control-C das Programm beendet.<\/li>\n<\/ol>\n<h3>Frage<\/h3>\n<p>Was muss f\u00fcr die Klasse RunHandler gelten, so dass eine Instanz von RunHandler wie folgt benutzt werden kann?<\/p>\n<pre>class Test  \r\n{\r\n public static void main( String args[] )\r\n {\r\n  Thread t = new Thread( new RunHandler() );\r\n  t.start();\r\n }\r\n}<\/pre>\n<ol>\n<li>RunHandler muss das Interface java.lang.Runnable implementieren.<\/li>\n<li>RunHandler muss die Klasse Thread erweitern.<\/li>\n<li>RunHandler muss eine Methode run() anbieten, die \u00f6ffentlich ist und void zur\u00fcckgibt.<\/li>\n<li>RunHandler muss eine init() Methode anbieten.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Frage Welche Aussage ist wahr f\u00fcr die Funktion notify() in Verbindung mit wait()? Wenn mehr als ein Thread auf eine Bedingung wartet, wird nur der Thread benachrichtigt, der am l\u00e4ngsten wartet. Wenn mehr als ein Thread auf eine Bedingung wartet, l\u00e4\u00dft sich nicht ausmachen, welcher Thread benachrichtigt wird. notify() ist in der Klasse Thread definiert. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[1],"tags":[],"class_list":["post-2408","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2408","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=2408"}],"version-history":[{"count":3,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2408\/revisions"}],"predecessor-version":[{"id":2454,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2408\/revisions\/2454"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=2408"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=2408"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=2408"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}